mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
(INPUT_ERROR): Prepare for file:line:column error
messages for errors in scm_lreadr() and friends.
This commit is contained in:
parent
f5f45abe9f
commit
39e8f371e2
8 changed files with 126 additions and 63 deletions
|
@ -112,33 +112,6 @@ scm_gc_init_malloc (void)
|
|||
/* Function for non-cell memory management.
|
||||
*/
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -268,6 +248,15 @@ scm_gc_malloc (size_t size, const char *what)
|
|||
return ptr;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue