summaryrefslogtreecommitdiff
path: root/libguile/srfi-4.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/srfi-4.c')
-rw-r--r--libguile/srfi-4.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/srfi-4.c b/libguile/srfi-4.c
index d8a264c54..057664c58 100644
--- a/libguile/srfi-4.c
+++ b/libguile/srfi-4.c
@@ -137,12 +137,13 @@
scm_t_array_handle *h, \
size_t *lenp, ssize_t *incp) \
{ \
+ size_t byte_width = width * sizeof (ctype); \
if (!scm_is_bytevector (uvec) \
- || (scm_c_bytevector_length (uvec) % width)) \
+ || (scm_c_bytevector_length (uvec) % byte_width)) \
scm_wrong_type_arg_msg (NULL, 0, uvec, #tag "vector"); \
scm_array_get_handle (uvec, h); \
if (lenp) \
- *lenp = scm_c_bytevector_length (uvec) / width; \
+ *lenp = scm_c_bytevector_length (uvec) / byte_width; \
if (incp) \
*incp = 1; \
return ((ctype *)h->writable_elements); \