summaryrefslogtreecommitdiff
path: root/libguile/gc-malloc.c
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@lilypond.org>2002-08-04 23:33:28 +0000
committerHan-Wen Nienhuys <hanwen@lilypond.org>2002-08-04 23:33:28 +0000
commit39e8f371e20c99381b9270307539121c76358294 (patch)
treeccf55cff48d0a417fddd12ed967e749f2381ad21 /libguile/gc-malloc.c
parentf5f45abe9feaae199857a70484c5275722352b79 (diff)
downloadguile-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.c43
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. */