summaryrefslogtreecommitdiffstats
path: root/record.c
diff options
context:
space:
mode:
Diffstat (limited to 'record.c')
-rw-r--r--record.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/record.c b/record.c
index 40b224c..126a1fc 100644
--- a/record.c
+++ b/record.c
@@ -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)