summaryrefslogtreecommitdiff
path: root/libguile/unif.c
diff options
context:
space:
mode:
authorMarius Vollmer <mvo@zagadka.de>2004-12-27 02:11:16 +0000
committerMarius Vollmer <mvo@zagadka.de>2004-12-27 02:11:16 +0000
commitd817a70c3db4810dfe58e10a0154a1aa26b09e88 (patch)
tree5ad7979c320714fe8f42ebefaaf9cb455e05edcf /libguile/unif.c
parentb590aceb96a8a483b0938e5b2fbe7c94fe9e7a1e (diff)
downloadguile-d817a70c3db4810dfe58e10a0154a1aa26b09e88.tar.gz
* unif.c (scm_bitvector_release): Added explicit call to
scm_remember_upto_here_1. (scm_uniform_vector_elements, scm_u8vector_elements, etc): Made return value "const". (scm_uniform_vector_writable_elements, scm_u8vector_writable_elements, etc): New. (scm_uniform_vector_release, scm_uniform_vector_release_elements): Renamed former to latter. Added explicit call to scm_remember_upto_here_1. (scm_frame_uniform_vector_release, scm_frame_uniform_vector_release_elements): Renamed former to latter. (scm_uniform_vector_release_writable_elements, scm_frame_uniform_vector_release_writable_elements): New. Takes crown of longest identifier yet. Changed all uses as required by the changes above.
Diffstat (limited to 'libguile/unif.c')
-rw-r--r--libguile/unif.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libguile/unif.c b/libguile/unif.c
index 9d03008dc..f4aed318b 100644
--- a/libguile/unif.c
+++ b/libguile/unif.c
@@ -1334,6 +1334,8 @@ scm_bitvector_release (SCM vec)
Also, a call to scm_bitvector_release acts like
scm_remember_upto_here, which is needed in any case.
*/
+
+ scm_remember_upto_here_1 (vec);
}
void
@@ -1636,7 +1638,7 @@ SCM_DEFINE (scm_bit_set_star_x, "bit-set*!", 3, 0, 0,
else if (scm_is_true (scm_u32vector_p (kv)))
{
size_t ulen, i;
- scm_t_uint32 *indices;
+ const scm_t_uint32 *indices;
/* assert that obj is a boolean.
*/
@@ -1646,7 +1648,7 @@ SCM_DEFINE (scm_bit_set_star_x, "bit-set*!", 3, 0, 0,
ulen = scm_c_uniform_vector_length (kv);
indices = scm_u32vector_elements (kv);
- scm_frame_uniform_vector_release (kv);
+ scm_frame_uniform_vector_release_elements (kv);
for (i = 0; i < ulen; i++)
scm_c_bitvector_set_x (v, (size_t)indices[i], obj);
@@ -1714,14 +1716,14 @@ SCM_DEFINE (scm_bit_count_star, "bit-count*", 3, 0, 0,
else if (scm_is_true (scm_u32vector_p (kv)))
{
size_t count = 0, ulen, i;
- scm_t_uint32 *indices;
+ const scm_t_uint32 *indices;
int bit = scm_to_bool (obj);
scm_frame_begin (0);
ulen = scm_c_uniform_vector_length (kv);
indices = scm_u32vector_elements (kv);
- scm_frame_uniform_vector_release (kv);
+ scm_frame_uniform_vector_release_elements (kv);
for (i = 0; i < ulen; i++)
if ((scm_is_true (scm_c_bitvector_ref (v, (size_t)indices[i])) != 0)