summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2014-06-28 15:24:29 +0200
committerLudovic Courtès <ludo@gnu.org>2014-07-04 16:52:29 +0200
commitd40752513fff3306bed31e40721e627720b2f8ff (patch)
tree247eabe06b562820ef1acd912dbb022c7f13b402
parentf184e887a6cb09a97cf34feab30eeba4a28a3ae4 (diff)
downloadguile-d40752513fff3306bed31e40721e627720b2f8ff.tar.gz
Fix bit-count* bug
* libguile/bitvectors.c (scm_bit_count_star): Fix typo introduced in 2005 refactor (!) in which the second arg was erroneously taken from the first arg. * test-suite/tests/bitvectors.test: Add test. * doc/ref/api-compound.texi: Fix doc example for u32vector selector.
-rw-r--r--doc/ref/api-compound.texi2
-rw-r--r--libguile/bitvectors.c2
-rw-r--r--test-suite/tests/bitvectors.test4
3 files changed, 6 insertions, 2 deletions
diff --git a/doc/ref/api-compound.texi b/doc/ref/api-compound.texi
index 055de9935..8ec32d687 100644
--- a/doc/ref/api-compound.texi
+++ b/doc/ref/api-compound.texi
@@ -1142,7 +1142,7 @@ For example,
@example
(bit-count* #*01110111 #*11001101 #t) @result{} 3
-(bit-count* #*01110111 #u(7 0 4) #f) @result{} 2
+(bit-count* #*01110111 #u32(7 0 4) #f) @result{} 2
@end example
@end deffn
diff --git a/libguile/bitvectors.c b/libguile/bitvectors.c
index 01584906c..af2e94716 100644
--- a/libguile/bitvectors.c
+++ b/libguile/bitvectors.c
@@ -713,7 +713,7 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0,
ssize_t kv_inc;
const scm_t_uint32 *kv_bits;
- kv_bits = scm_bitvector_elements (v, &kv_handle,
+ kv_bits = scm_bitvector_elements (kv, &kv_handle,
&kv_off, &kv_len, &kv_inc);
if (v_len != kv_len)
diff --git a/test-suite/tests/bitvectors.test b/test-suite/tests/bitvectors.test
index 8541576aa..d9dfa136d 100644
--- a/test-suite/tests/bitvectors.test
+++ b/test-suite/tests/bitvectors.test
@@ -70,3 +70,7 @@
(let ((v (bitvector #t #t #f #f)))
(bit-set*! v #*101 #f)
(equal? v #*0100))))
+
+(with-test-prefix "bit-count*"
+ (pass-if-equal 3 (bit-count* #*01110111 #*11001101 #t))
+ (pass-if-equal 2 (bit-count* #*01110111 #u32(7 0 4) #f)))