diff options
author | 2022-08-12 19:58:10 -0700 | |
---|---|---|
committer | 2022-08-12 19:58:10 -0700 | |
commit | ad6a98f6ad3cce9d69648360d00d5dcd67d8ca0f (patch) | |
tree | da76141ff43efe1fa5c725bb1624d3b8f6362d06 /clox/src/vm.c | |
parent | 38e4c37f0f991122530a708148a6ec0e2a5a3eff (diff) | |
download | crafting-interpreters-ad6a98f6ad3cce9d69648360d00d5dcd67d8ca0f.tar.gz crafting-interpreters-ad6a98f6ad3cce9d69648360d00d5dcd67d8ca0f.zip |
Chapter 26.7
Diffstat (limited to 'clox/src/vm.c')
-rw-r--r-- | clox/src/vm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clox/src/vm.c b/clox/src/vm.c index c9556b2..601b128 100644 --- a/clox/src/vm.c +++ b/clox/src/vm.c @@ -163,8 +163,8 @@ static bool isFalsey(Value value) { } static void concatenate() { - ObjString *b = AS_STRING(pop()); - ObjString *a = AS_STRING(pop()); + ObjString *b = AS_STRING(peek(0)); + ObjString *a = AS_STRING(peek(1)); int length = a->length + b->length; char *chars = ALLOCATE(char, length + 1); @@ -173,6 +173,8 @@ static void concatenate() { chars[length] = '\0'; ObjString *result = takeString(chars, length); + pop(); + pop(); push(OBJ_VAL(result)); } |