mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-21 20:20:24 +02:00
* smob.c (scm_newsmob): Also create a wrapper class if
scm_smob_class has been initialized.
This commit is contained in:
parent
0e76bf6680
commit
d7ec6b9f78
1 changed files with 6 additions and 0 deletions
|
@ -45,6 +45,8 @@
|
||||||
|
|
||||||
#include "smob.h"
|
#include "smob.h"
|
||||||
|
|
||||||
|
#include "objects.h"
|
||||||
|
|
||||||
#ifdef HAVE_MALLOC_H
|
#ifdef HAVE_MALLOC_H
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -81,6 +83,10 @@ scm_newsmob (smob)
|
||||||
SCM_ALLOW_INTS;
|
SCM_ALLOW_INTS;
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
smoberr:scm_wta (SCM_MAKINUM ((long) scm_numsmob), (char *) SCM_NALLOC, "newsmob");
|
smoberr:scm_wta (SCM_MAKINUM ((long) scm_numsmob), (char *) SCM_NALLOC, "newsmob");
|
||||||
|
/* Make a class object if Goops is present. */
|
||||||
|
if (scm_smob_class)
|
||||||
|
scm_smob_class[scm_numsmob - 1]
|
||||||
|
= scm_make_extended_class (SCM_SMOBNAME (scm_numsmob - 1));
|
||||||
return scm_tc7_smob + (scm_numsmob - 1) * 256;
|
return scm_tc7_smob + (scm_numsmob - 1) * 256;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue