summaryrefslogtreecommitdiffstats
path: root/record.c
diff options
context:
space:
mode:
authorDavid N. Welton <davidw@efn.org>1998-12-11 20:21:49 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:25 -0800
commita47af30d2f0e96afcd1f14b1984575c359faa3d6 (patch)
tree2ed08ce2d757f917de7c3c7c04fd7e309f454c83 /record.c
parentf64b2806c1d66a1341bb8b1491f384169ab1d65f (diff)
parentdb04688faa20f3576257c0fe41752ec435beab9a (diff)
downloadscm-a47af30d2f0e96afcd1f14b1984575c359faa3d6.tar.gz
scm-a47af30d2f0e96afcd1f14b1984575c359faa3d6.zip
Import Debian changes 5c3-5debian/5c3-5
scm (5c3-5) frozen unstable; urgency=low * debian/rules chmod +x's bld.scm. Fixes #30521. scm (5c3-4) frozen unstable; urgency=low * Made bld.scm executable. Fixes #29578. scm (5c3-3) frozen unstable; urgency=low * -nw * Fixes #16762. * Fixes #18163. * Fixes #18164. * Fixes #23743. * Fixes #24098. * Fixes #24099. * Fixes #24547. scm (5c3-2) frozen unstable; urgency=low * Re-uploading for slink freeze. scm (5c3-1) unstable; urgency=low * New upstream version.
Diffstat (limited to 'record.c')
-rw-r--r--record.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/record.c b/record.c
index 126a1fc..7724889 100644
--- a/record.c
+++ b/record.c
@@ -174,9 +174,8 @@ SCM rec_constr1(args)
SCM rec, inds = (((rec_cclo *)CDR(cclo))->constr.indices);
sizet i = INUM(((rec_cclo *)CDR(cclo))->constr.recsize);
args = CDR(args);
- NEWCELL(rec);
DEFER_INTS;
- SETCHARS(rec, must_malloc((i+1L)*sizeof(SCM), s_record));
+ rec = must_malloc_cell((i+1L)*sizeof(SCM), s_record);
SETNUMDIGS(rec, i+1L, tc16_record);
ALLOW_INTS;
while (i--)
@@ -272,7 +271,7 @@ static SCM markrec(ptr)
static sizet freerec(ptr)
CELLPTR ptr;
{
- must_free(CHARS(ptr));
+ must_free(CHARS(ptr), sizeof(SCM)*NUMDIGS(ptr));
return sizeof(SCM)*NUMDIGS(ptr);
}
static int recprin1(exp, port, writing)
@@ -332,9 +331,10 @@ void init_record()
SCM i_name = CAR(intern(s_name, (sizeof s_name)-1));
SCM i_fields = CAR(intern(s_fields, (sizeof s_fields)-1));
tc16_record = newsmob(&recsmob);
- NEWCELL(the_rtd_rtd);
- SETCHARS(the_rtd_rtd, must_malloc((long)sizeof(rtd_type), s_record));
+ DEFER_INTS;
+ the_rtd_rtd = must_malloc_cell((long)sizeof(rtd_type), s_record);
SETNUMDIGS(the_rtd_rtd, (long)sizeof(rtd_type)/sizeof(SCM), tc16_record);
+ ALLOW_INTS;
REC_RTD(the_rtd_rtd) = the_rtd_rtd;
RTD_NAME(the_rtd_rtd) = makfromstr(s_record, (sizeof s_record)-1);
RTD_FIELDS(the_rtd_rtd) = cons2(i_name, i_fields, EOL);