diff options
author | Han-Wen Nienhuys <hanwen@lilypond.org> | 2002-08-04 23:33:28 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@lilypond.org> | 2002-08-04 23:33:28 +0000 |
commit | 39e8f371e20c99381b9270307539121c76358294 (patch) | |
tree | ccf55cff48d0a417fddd12ed967e749f2381ad21 /libguile/gc-malloc.c | |
parent | f5f45abe9feaae199857a70484c5275722352b79 (diff) | |
download | guile-39e8f371e20c99381b9270307539121c76358294.tar.gz |
(INPUT_ERROR): Prepare for file:line:column error
messages for errors in scm_lreadr() and friends.
Diffstat (limited to 'libguile/gc-malloc.c')
-rw-r--r-- | libguile/gc-malloc.c | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/libguile/gc-malloc.c b/libguile/gc-malloc.c index a1d8f2dc8..2720ed8d8 100644 --- a/libguile/gc-malloc.c +++ b/libguile/gc-malloc.c @@ -113,33 +113,6 @@ scm_gc_init_malloc (void) */ void * -scm_malloc (size_t size) -{ - void *ptr; - - if (size == 0) - return NULL; - - SCM_SYSCALL (ptr = malloc (size)); - if (ptr) - return ptr; - - scm_i_sweep_all_segments ("malloc"); - SCM_SYSCALL (ptr = malloc (size)); - if (ptr) - return ptr; - - scm_igc ("malloc"); - scm_i_sweep_all_segments ("malloc/gc"); - - SCM_SYSCALL (ptr = malloc (size)); - if (ptr) - return ptr; - - scm_memory_error ("malloc"); -} - -void * scm_realloc (void *mem, size_t size) { void *ptr; @@ -164,6 +137,13 @@ scm_realloc (void *mem, size_t size) scm_memory_error ("realloc"); } +void * +scm_malloc (size_t sz) +{ + return scm_realloc (NULL, sz); +} + + char * scm_strndup (const char *str, size_t n) { @@ -269,6 +249,15 @@ scm_gc_malloc (size_t size, const char *what) } void * +scm_gc_calloc (size_t size, const char *what) +{ + void *ptr = scm_gc_malloc (size, what); + memset (ptr, 0x0, size); + return ptr; +} + + +void * scm_gc_realloc (void *mem, size_t old_size, size_t new_size, const char *what) { /* XXX - see scm_gc_malloc. */ |