summaryrefslogtreecommitdiff
path: root/libguile/strings.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/strings.c')
-rw-r--r--libguile/strings.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libguile/strings.c b/libguile/strings.c
index 783bfd4f9..c9c7af4dc 100644
--- a/libguile/strings.c
+++ b/libguile/strings.c
@@ -117,18 +117,19 @@ SCM
scm_makstr (long len, int slots)
{
SCM s;
- SCM * mem;
+ scm_bits_t * mem;
+
SCM_NEWCELL (s);
--slots;
SCM_REDEFER_INTS;
- mem = (SCM *)scm_must_malloc (sizeof (SCM) * (slots + 1) + len + 1,
- "scm_makstr");
+ mem = (scm_bits_t *) scm_must_malloc (sizeof (scm_bits_t) * (slots + 1)
+ + len + 1, "scm_makstr");
if (slots >= 0)
{
int x;
- mem[slots] = (SCM)mem;
+ mem[slots] = (scm_bits_t) mem;
for (x = 0; x < slots; ++x)
- mem[x] = SCM_BOOL_F;
+ mem[x] = SCM_UNPACK (SCM_BOOL_F);
}
SCM_SETCHARS (s, (char *) (mem + slots + 1));
SCM_SETLENGTH (s, len, scm_tc7_string);