diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:24 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:24 -0800 |
commit | 1edcb9b62a1a520eddae8403c19d841c9b18737f (patch) | |
tree | bc0a43d9b3905726a76ed6f0528b54275f23d082 /record.c | |
parent | 5ca6e8e6a4e5c022a6fb5d28f30219c22c99eda8 (diff) | |
download | scm-1edcb9b62a1a520eddae8403c19d841c9b18737f.tar.gz scm-1edcb9b62a1a520eddae8403c19d841c9b18737f.zip |
Import Upstream version 5b3upstream/5b3
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) |