aboutsummaryrefslogtreecommitdiffstats
path: root/clox/src/memory.c
diff options
context:
space:
mode:
authorGravatar Tom Willemse2022-01-21 21:24:26 -0800
committerGravatar Tom Willemse2022-01-21 21:24:26 -0800
commit9025da8168e505e2b0e32b89a0d94db935dace93 (patch)
tree162fa69ce309ab3eb0359ba59d1180c02d4869ec /clox/src/memory.c
parent37ac05af6d0aa57ccc5ea805af262a407fedeeae (diff)
downloadcrafting-interpreters-9025da8168e505e2b0e32b89a0d94db935dace93.tar.gz
crafting-interpreters-9025da8168e505e2b0e32b89a0d94db935dace93.zip
Chapter 24.1
Diffstat (limited to 'clox/src/memory.c')
-rw-r--r--clox/src/memory.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/clox/src/memory.c b/clox/src/memory.c
index 169d846..8f8fd4a 100644
--- a/clox/src/memory.c
+++ b/clox/src/memory.c
@@ -17,6 +17,12 @@ void *reallocate(void *pointer, size_t oldSize, size_t newSize) {
static void freeObject(Obj *object) {
switch (object->type) {
+ case OBJ_FUNCTION: {
+ ObjFunction *function = (ObjFunction *)object;
+ freeChunk(&function->chunk);
+ FREE(ObjFunction, object);
+ break;
+ }
case OBJ_STRING: {
ObjString *string = (ObjString *)object;
FREE_ARRAY(char, string->chars, string->length + 1);