Fixed the undocumented `scm_make_smob ()' function.
authorLudovic Courtes <ludovic.courtes@laas.fr>
Tue, 23 May 2006 21:59:56 +0000 (21:59 +0000)
committerLudovic Courtès <ludo@gnu.org>
Fri, 5 Sep 2008 07:34:17 +0000 (09:34 +0200)
* libguile/smob.c (scm_make_smob): Use `SCM_RETURN_NEWSMOB ()' instead of
  `scm_cell ()' when instantiating the SMOB.

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

libguile/smob.c

index 66b7696..bdeae2d 100644 (file)
@@ -460,12 +460,13 @@ scm_set_smob_apply (scm_t_bits tc, SCM (*apply) (),
 SCM
 scm_make_smob (scm_t_bits tc)
 {
-  long n = SCM_TC2SMOBNUM (tc);
+  scm_t_bits n = SCM_TC2SMOBNUM (tc);
   size_t size = scm_smobs[n].size;
   scm_t_bits data = (size > 0
                     ? (scm_t_bits) scm_gc_malloc (size, SCM_SMOBNAME (n))
                     : 0);
-  return scm_cell (tc, data);
+
+  SCM_RETURN_NEWSMOB (tc, data);
 }
 
 \f