summaryrefslogtreecommitdiff
path: root/libguile/stacks.h
diff options
context:
space:
mode:
authorMikael Djurfeldt <djurfeldt@nada.kth.se>1996-10-30 00:16:45 +0000
committerMikael Djurfeldt <djurfeldt@nada.kth.se>1996-10-30 00:16:45 +0000
commit3119346c3f460dbd752871d9adc35162fb23897c (patch)
treec28532ea9d4df535ce22ea1616edde1018c3be60 /libguile/stacks.h
parent3027db9d22eaa2b181462b957a58eff76caaf399 (diff)
downloadguile-3119346c3f460dbd752871d9adc35162fb23897c.tar.gz
* stacks.h: Bugfix: Don't use tail-array length field as stack
length field! This screwed up GC.
Diffstat (limited to 'libguile/stacks.h')
-rw-r--r--libguile/stacks.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/stacks.h b/libguile/stacks.h
index bf8d24d73..7d018c89a 100644
--- a/libguile/stacks.h
+++ b/libguile/stacks.h
@@ -61,11 +61,12 @@ typedef struct scm_info_frame {
#define SCM_FRAME_N_SLOTS (sizeof (scm_info_frame) / sizeof (SCM))
#define SCM_STACK(obj) ((scm_stack *) SCM_STRUCT_DATA (obj))
-#define SCM_STACK_LAYOUT "pwuopW"
+#define SCM_STACK_LAYOUT "pwuourpW"
typedef struct scm_stack {
SCM id; /* Stack id */
scm_info_frame *frames; /* Info frames */
unsigned int length; /* Stack length */
+ unsigned int tail_length;
scm_info_frame tail[1];
} scm_stack;