scm_memory_error (what);
}
+char *
+scm_must_strndup (const char *str, unsigned long length)
+{
+ char * dst = scm_must_malloc (length + 1, "scm_must_strndup");
+ memcpy (dst, str, length);
+ dst[length] = 0;
+ return dst;
+}
+
+char *
+scm_must_strdup (const char *str)
+{
+ return scm_must_strndup (str, strlen (str));
+}
void
scm_must_free (void *obj)
extern void * scm_must_realloc (void *where,
scm_sizet olen, scm_sizet len,
const char *what);
+extern char *scm_must_strdup (const char *str);
+extern char *scm_must_strndup (const char *str, unsigned long n);
extern void scm_done_malloc (long size);
extern void scm_done_free (long size);
extern void scm_must_free (void *obj);