diff options
author | Peter Mikkelsen <peter@pmikkelsen.com> | 2022-02-12 14:06:30 +0000 |
---|---|---|
committer | Peter Mikkelsen <peter@pmikkelsen.com> | 2022-02-12 14:06:30 +0000 |
commit | dbb716d26d82ab8fbe44601f4af2ad9873d1dc1c (patch) | |
tree | 0d90a237b289a566b1f0f27cd36ff4df6efe54a0 /memory.c | |
parent | c07082b46a0a54b4164be67f8b7d18cd24843030 (diff) |
Handle prototypes a bit better, but I suspect not everywhere
Diffstat (limited to 'memory.c')
-rw-r--r-- | memory.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -64,11 +64,15 @@ freearray(Array *a) SetRefs(a, GetRefs(a)-1); if(GetRefs(a) == 0){ - if(GetType(a) == AtypeArray) - for(int i = 0; i < GetSize(a); i++) - freearray(a->arraydata[i]); + if(GetType(a) == AtypeArray){ + if(GetSize(a) > 0){ + for(int i = 0; i < GetSize(a); i++) + freearray(a->arraydata[i]); + free(a->rawdata); + }else + freearray(a->prototype); + } free(a->shape); - free(a->rawdata); free(a); arrayalloccounts--; } |