summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/smob.c3
-rw-r--r--libguile/smob.h1
2 files changed, 2 insertions, 2 deletions
diff --git a/libguile/smob.c b/libguile/smob.c
index 53e8a413d..2338de271 100644
--- a/libguile/smob.c
+++ b/libguile/smob.c
@@ -44,7 +44,6 @@
#include "_scm.h"
#include "objects.h"
-#include "genio.h"
#ifdef HAVE_MALLOC_H
#include <malloc.h>
@@ -114,7 +113,7 @@ scm_smob_print (SCM exp, SCM port, scm_print_state *pstate)
{
int n = SCM_SMOBNUM (exp);
scm_puts ("#<", port);
- scm_puts (SCM_SMOBNAME (n), port);
+ scm_puts (SCM_SMOBNAME (n) ? SCM_SMOBNAME (n) : "smob", port);
scm_putc (' ', port);
scm_intprint (scm_smobs[n].size ? SCM_CDR (exp) : exp, 16, port);
scm_putc ('>', port);
diff --git a/libguile/smob.h b/libguile/smob.h
index 110044dc0..95e94ecbe 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -89,6 +89,7 @@ do { \
#define SCM_SET_SMOB_DATA(x, data) SCM_SETCDR (x, data)
#define SCM_TC2SMOBNUM(x) (0x0ff & ((x) >> 8))
#define SCM_SMOBNUM(x) (SCM_TC2SMOBNUM (SCM_CAR (x)))
+/* SCM_SMOBNAME can be 0 if name is missing */
#define SCM_SMOBNAME(smobnum) scm_smobs[smobnum].name
extern int scm_numsmob;