diff options
author | David N. Welton <davidw@efn.org> | 1998-12-11 20:21:49 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:25 -0800 |
commit | a47af30d2f0e96afcd1f14b1984575c359faa3d6 (patch) | |
tree | 2ed08ce2d757f917de7c3c7c04fd7e309f454c83 /record.c | |
parent | f64b2806c1d66a1341bb8b1491f384169ab1d65f (diff) | |
parent | db04688faa20f3576257c0fe41752ec435beab9a (diff) | |
download | scm-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.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -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); |