* gc.h, gc.c (scm_gc_sweep): Issue deprecation warning when

non-zero is returned from a port or smob free function.
(scm_malloc, scm_realloc, scm_strndup, scm_strdup,
scm_gc_register_collectable_memory,
scm_gc_unregister_collectable_memory, scm_gc_malloc,
scm_gc_realloc, scm_gc_free, scm_gc_strndup, scm_gc_strdup): New.

* backtrace.c, continuations.c, convert.i.c, coop-threads.c,
debug-malloc.c, dynl.c, environments.c, environments.h,
extensions.c, filesys.c, fports.c, gc.c, gc.h, gh_data.c, goops.c,
guardians.c, hooks.c, init.c, keywords.c, load.c, numbers.c,
ports.c, posix.c, procs.c, rdelim.c, regex-posix.c, root.c,
smob.c, stime.c, strings.c, struct.c, struct.h, symbols.c, unif.c,
vectors.c, weaks.c: Use scm_gc_malloc/scm_malloc and
scm_gc_free/free instead of scm_must_malloc and scm_must_free, as
appropriate.  Return zero from smob and port free functions.

* debug-malloc.c (scm_malloc_reregister): Handle "old == NULL".

* fports.c (scm_setvbuf): Reset read buffer to saved values when
it is pointing to the putback buffer.
This commit is contained in:
Marius Vollmer 2002-02-11 18:06:50 +00:00
commit 4c9419ac31
36 changed files with 439 additions and 254 deletions

View file

@ -74,13 +74,12 @@ void
scm_c_register_extension (const char *lib, const char *init,
void (*func) (void *), void *data)
{
extension_t *ext = scm_must_malloc (sizeof(extension_t),
"scm_register_extension");
extension_t *ext = scm_malloc (sizeof(extension_t));
if (lib)
ext->lib = scm_must_strdup (lib);
ext->lib = scm_strdup (lib);
else
ext->lib = NULL;
ext->init = scm_must_strdup (init);
ext->init = scm_strdup (init);
ext->func = func;
ext->data = data;