From 454e026edc25b1d0f6b4f035d41b38a1e60e16e3 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Thu, 13 Jan 2022 20:41:55 +0000 Subject: Free arrays in variables when assigning new data to them --- eval.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'eval.c') diff --git a/eval.c b/eval.c index 2eb5abd..6b59c74 100644 --- a/eval.c +++ b/eval.c @@ -238,7 +238,10 @@ nameis(Datum left, Datum right) Datum assign(Datum left, Datum right) { - left.symbol->value = right; /* TODO think about this*/ + if(left.symbol->undefined == 0) + freearray(left.symbol->value.array); + + left.symbol->value = right; left.symbol->undefined = 0; if(left.symbol->value.tag == ArrayTag){ left.symbol->value.array->stranded = 0; -- cgit v1.2.3