summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Blandy <jimb@red-bean.com>1999-02-06 22:04:09 +0000
committerJim Blandy <jimb@red-bean.com>1999-02-06 22:04:09 +0000
commitba3cad4d80295b38f69ca934afab4050bcbcd6fc (patch)
treed57469ec59195dcc13955f3103a0ef638f65fd0a
parent2a2d0d0e815f0ef8d2175278a5662c03e69dadbe (diff)
downloadguile-ba3cad4d80295b38f69ca934afab4050bcbcd6fc.tar.gz
* gc.c (scm_gc_sweep): Properly record the size of a freed
structure. (Thanks to Michael Livshin.)
-rw-r--r--libguile/gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/gc.c b/libguile/gc.c
index e2a09ccc9..6e77235f7 100644
--- a/libguile/gc.c
+++ b/libguile/gc.c
@@ -1113,7 +1113,7 @@ scm_gc_sweep ()
if ((SCM_CDR (vcell) == 0) || (SCM_CDR (vcell) == 1))
{
SCM *p = (SCM *) SCM_GCCDR (scmptr);
- m += p[scm_struct_i_n_words] * sizeof (SCM);
+ m += (p[scm_struct_i_n_words] + 7) * sizeof (SCM);
/* I feel like I'm programming in BCPL here... */
free ((char *) p[scm_struct_i_ptr]);
}