133 |
SCM_ASSERT_RANGE (2, scm_ulong2num (len), len <= SCM_STRING_MAX_LENGTH); |
SCM_ASSERT_RANGE (2, scm_ulong2num (len), len <= SCM_STRING_MAX_LENGTH); |
134 |
|
|
135 |
answer = scm_alloc_cell (SCM_MAKE_STRING_TAG (len), (scm_t_bits) s); |
answer = scm_alloc_cell (SCM_MAKE_STRING_TAG (len), (scm_t_bits) s); |
136 |
scm_done_malloc (len + 1); |
scm_gc_register_collectable_memory (s, len+1, "string"); |
137 |
|
|
138 |
return answer; |
return answer; |
139 |
} |
} |
191 |
|
|
192 |
SCM_ASSERT_RANGE (1, scm_long2num (len), len <= SCM_STRING_MAX_LENGTH); |
SCM_ASSERT_RANGE (1, scm_long2num (len), len <= SCM_STRING_MAX_LENGTH); |
193 |
|
|
194 |
mem = (char *) scm_must_malloc (len + 1, FUNC_NAME); |
mem = (char *) scm_gc_malloc (len + 1, "string"); |
195 |
mem[len] = 0; |
mem[len] = 0; |
196 |
|
|
197 |
s = scm_alloc_cell (SCM_MAKE_STRING_TAG (len), (scm_t_bits) mem); |
s = scm_alloc_cell (SCM_MAKE_STRING_TAG (len), (scm_t_bits) mem); |