aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/eval.c b/eval.c
index a62c318ebc..cc5194d4c5 100644
--- a/eval.c
+++ b/eval.c
@@ -7737,19 +7737,27 @@ blk_mark(data)
}
static void
-blk_free(data)
- struct BLOCK *data;
-{
+frame_free(frame)
struct FRAME *frame;
- void *tmp;
+{
+ struct FRAME *tmp;
- frame = data->frame.prev;
+ frame = frame->prev;
while (frame) {
tmp = frame;
frame = frame->prev;
free(tmp);
}
+}
+
+static void
+blk_free(data)
+ struct BLOCK *data;
+{
+ void *tmp;
+
while (data) {
+ frame_free(&data->frame);
tmp = data;
data = data->prev;
free(tmp);