Removed the free function from the malloc-object SMOB type.
authorLudovic Courtes <ludovic.courtes@laas.fr>
Tue, 23 May 2006 21:59:28 +0000 (21:59 +0000)
committerLudovic Courtès <ludo@gnu.org>
Fri, 5 Sep 2008 07:33:47 +0000 (09:33 +0200)
* libguile/mallocs.c (malloc_free): Removed.
  (scm_init_mallocs): Don't invoke `scm_set_smob_free ()' because the
  memory allocated by `scm_gc_malloc ()' will automatically be freed.
  Furthermore, `malloc_free ()' used to invoke `free ()' instead of
  `scm_gc_free ()' which is incorrect.

git-archimport-id: lcourtes@laas.fr--2005-libre/guile-core--boehm-gc--1.9--patch-25

libguile/mallocs.c

index 6a68b96..0c7d450 100644 (file)
 scm_t_bits scm_tc16_malloc;
 
 
-static size_t
-malloc_free (SCM ptr)
-{
-  if (SCM_MALLOCDATA (ptr))
-    free (SCM_MALLOCDATA (ptr));
-  return 0;
-}
-
 
 static int
 malloc_print (SCM exp, SCM port, scm_print_state *pstate SCM_UNUSED)
@@ -71,11 +63,10 @@ scm_malloc_obj (size_t n)
 
 
 \f
-void 
+void
 scm_init_mallocs ()
 {
   scm_tc16_malloc = scm_make_smob_type ("malloc", 0);
-  scm_set_smob_free (scm_tc16_malloc, malloc_free);
   scm_set_smob_print (scm_tc16_malloc, malloc_print);
 }