summaryrefslogtreecommitdiff
path: root/libguile/gc.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@red-bean.com>1999-02-12 10:13:20 +0000
committerJim Blandy <jimb@red-bean.com>1999-02-12 10:13:20 +0000
commit35eec7384c8559346c469e471a79fda9369f86a5 (patch)
treea4125fe04f4ae4a8525ab901f4d56f062af2f5e7 /libguile/gc.c
parentdcab04e11282e0e4b30608332cc6291223326b0d (diff)
downloadguile-35eec7384c8559346c469e471a79fda9369f86a5.tar.gz
* __scm.h (SCM_FENCE): Fix `asm volatile' warnings for EGCS.
* gc.c (scm_gc_sweep): Properly properly record the size of a freed structure. (Thanks to Greg Harvey.)
Diffstat (limited to 'libguile/gc.c')
-rw-r--r--libguile/gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/gc.c b/libguile/gc.c
index 6e77235f7..b6b1fb56a 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] + 7) * sizeof (SCM);
+ m += p[scm_struct_i_n_words] * sizeof (SCM) + 7;
/* I feel like I'm programming in BCPL here... */
free ((char *) p[scm_struct_i_ptr]);
}