diff options
author | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2000-11-23 08:59:22 +0000 |
---|---|---|
committer | Dirk Herrmann <dirk@dirk-herrmanns-seiten.de> | 2000-11-23 08:59:22 +0000 |
commit | 9377887701ecd64970fb8c65929ab2e8516ca929 (patch) | |
tree | b17162c36e4dd8be771edab74f13b6e1e37b9ed3 /libguile/gc.c | |
parent | d7cf43257826796a0503e33b162cb7424a65bdc4 (diff) | |
download | guile-9377887701ecd64970fb8c65929ab2e8516ca929.tar.gz |
* Deprecated SCM_SETLENGTH.
Diffstat (limited to 'libguile/gc.c')
-rw-r--r-- | libguile/gc.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libguile/gc.c b/libguile/gc.c index 26c1c0c2a..0a6e968f3 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -1621,8 +1621,14 @@ scm_gc_sweep () #endif #ifdef HAVE_ARRAYS case scm_tc7_bvect: - m += sizeof (long) * ((SCM_BITVECTOR_LENGTH (scmptr) + SCM_LONG_BIT - 1) / SCM_LONG_BIT); - scm_must_free (SCM_BITVECTOR_BASE (scmptr)); + { + unsigned long int length = SCM_BITVECTOR_LENGTH (scmptr); + if (length > 0) + { + m += sizeof (long) * ((length + SCM_LONG_BIT - 1) / SCM_LONG_BIT); + scm_must_free (SCM_BITVECTOR_BASE (scmptr)); + } + } break; case scm_tc7_byvect: case scm_tc7_ivect: |