summaryrefslogtreecommitdiff
path: root/libguile/unif.c
diff options
context:
space:
mode:
authorGreg J. Badros <gjb@cs.washington.edu>2000-03-09 21:48:25 +0000
committerGreg J. Badros <gjb@cs.washington.edu>2000-03-09 21:48:25 +0000
commit41b0806d3ed1c6e11fcae8e09b161f320137a73b (patch)
tree0f3438113efe9db300637708cfb679657c3ce836 /libguile/unif.c
parent7ac030d6de0e8fad668851f5c42f9869cc2b1b3f (diff)
downloadguile-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.c7
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);