diff options
Diffstat (limited to 'record.c')
-rw-r--r-- | record.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1995 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -81,11 +81,16 @@ static SCM the_rtd_rtd; #define RTD_FIELDS(x) (((rtd_type *)CDR(x))->fields) #define RCLO_RTD(x) (((rec_cclo *)CDR(x))->pred.rtd) +/* If we are compiling this as a dll, then we cannot assume that + arrays will be available when the dll is loaded */ #ifdef ARRAYS -# define MAKE_REC_INDS(n) make_uve((long)n, MAKINUM(1)) -# define REC_IND_REF(x, i) VELTS(x)[(i)] -# define REC_IND_SET(x, i, val) VELTS(x)[(i)] = (val) -#else +# ifndef DLL +# define MAKE_REC_INDS(n) make_uve((long)n, MAKINUM(1)) +# define REC_IND_REF(x, i) VELTS(x)[(i)] +# define REC_IND_SET(x, i, val) VELTS(x)[(i)] = (val) +# endif +#endif +#ifndef MAKE_REC_INDS # define MAKE_REC_INDS(n) make_vector(MAKINUM(n), INUM0) # define REC_IND_REF(x, i) INUM(VELTS(x)[(i)]) # define REC_IND_SET(x, i, val) VELTS(x)[(i)] = MAKINUM(val) |