From 1edcb9b62a1a520eddae8403c19d841c9b18737f Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:24 -0800 Subject: Import Upstream version 5b3 --- record.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'record.c') 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) -- cgit v1.2.3