diff options
author | Greg J. Badros <gjb@cs.washington.edu> | 2000-03-09 21:48:25 +0000 |
---|---|---|
committer | Greg J. Badros <gjb@cs.washington.edu> | 2000-03-09 21:48:25 +0000 |
commit | 41b0806d3ed1c6e11fcae8e09b161f320137a73b (patch) | |
tree | 0f3438113efe9db300637708cfb679657c3ce836 /libguile/unif.c | |
parent | 7ac030d6de0e8fad668851f5c42f9869cc2b1b3f (diff) | |
download | guile-41b0806d3ed1c6e11fcae8e09b161f320137a73b.tar.gz |
* vectors.h (SCM_VELTS_AS_STACKITEMS): Added this macro to help in
eliminating some warnings.
* unif.c, strports.c, print.c, options.c: Fix some warnings on
mis-use of SCM/long
* gc.c, gc.h: Added scm_return_first_int(), and added comment re:
what the scm_return_first* functions do.
Diffstat (limited to 'libguile/unif.c')
-rw-r--r-- | libguile/unif.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/unif.c b/libguile/unif.c index 8af679e95..de32a8112 100644 --- a/libguile/unif.c +++ b/libguile/unif.c @@ -1920,6 +1920,7 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0, { register long i, vlen, count = 0; register unsigned long k; + int fObj = 0; SCM_ASRTGO (SCM_NIMP (v), badarg1); SCM_ASRTGO (SCM_NIMP (kv), badarg2); @@ -1962,9 +1963,9 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0, if (0 == SCM_LENGTH (v)) return SCM_INUM0; SCM_ASRTGO (SCM_BOOL_T == obj || SCM_BOOL_F == obj, badarg3); - obj = (SCM_BOOL_T == obj); /* ugh. */ + fObj = (SCM_BOOL_T == obj); i = (SCM_LENGTH (v) - 1) / SCM_LONG_BIT; - k = SCM_ASWORD (SCM_VELTS (kv)[i]) & (obj ? SCM_ASWORD (SCM_VELTS (v)[i]) : ~ SCM_ASWORD (SCM_VELTS (v)[i])); + k = SCM_ASWORD (SCM_VELTS (kv)[i]) & (fObj ? SCM_ASWORD (SCM_VELTS (v)[i]) : ~ SCM_ASWORD (SCM_VELTS (v)[i])); k <<= SCM_LONG_BIT - 1 - ((SCM_LENGTH (v) - 1) % SCM_LONG_BIT); while (1) { @@ -1974,7 +1975,7 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0, return SCM_MAKINUM (count); /* urg. repetitive (see above.) */ - k = SCM_ASWORD (SCM_VELTS (kv)[i]) & (obj ? SCM_ASWORD(SCM_VELTS (v)[i]) : ~SCM_ASWORD (SCM_VELTS (v)[i])); + k = SCM_ASWORD (SCM_VELTS (kv)[i]) & (fObj ? SCM_ASWORD(SCM_VELTS (v)[i]) : ~SCM_ASWORD (SCM_VELTS (v)[i])); } } return SCM_MAKINUM (count); |