summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--parser.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/parser.c b/parser.c
index a849e980..292040fb 100644
--- a/parser.c
+++ b/parser.c
@@ -387,9 +387,12 @@ tail:
clearhash(obj);
while (pairs) {
- val cell = pop(&pairs);
+ val cell = rcyc_pop(&pairs);
sethash(obj, us_car(cell), us_cdr(cell));
}
+ } else {
+ while (pairs)
+ rcyc_pop(&pairs);
}
}
} else if (structp(obj)) {
@@ -427,9 +430,12 @@ tail:
tree_clear(obj);
while (nodes) {
- val node = pop(&nodes);
+ val node = rcyc_pop(&nodes);
tree_insert_node(obj, node);
}
+ } else {
+ while (nodes)
+ rcyc_pop(&nodes);
}
}