diff options
author | Bad Diode <bd@badd10de.dev> | 2021-10-26 10:00:49 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2021-10-26 10:03:06 +0200 |
commit | 19fb6b2d97a970f94854cd17a58639b72d35c052 (patch) | |
tree | 273c6a36daf0989b715c3b53ea75419d1131270e /src/bytecode/vm.h | |
parent | da84e7e731de39ff385ae675a023ddcb9c58d06a (diff) | |
download | bdl-19fb6b2d97a970f94854cd17a58639b72d35c052.tar.gz bdl-19fb6b2d97a970f94854cd17a58639b72d35c052.zip |
Ensure the last statement is returned to stdout
Diffstat (limited to 'src/bytecode/vm.h')
-rwxr-xr-x | src/bytecode/vm.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bytecode/vm.h b/src/bytecode/vm.h index d654e2c..0ce6dec 100755 --- a/src/bytecode/vm.h +++ b/src/bytecode/vm.h | |||
@@ -263,6 +263,11 @@ vm_interpret(VM *vm) { | |||
263 | } break; | 263 | } break; |
264 | case OP_RETURN: { | 264 | case OP_RETURN: { |
265 | if (frame->rp == NULL) { | 265 | if (frame->rp == NULL) { |
266 | Object ret = array_pop(vm->stack); | ||
267 | if (!IS_NIL(ret)) { | ||
268 | object_display(ret); | ||
269 | printf("\n"); | ||
270 | } | ||
266 | return; | 271 | return; |
267 | } | 272 | } |
268 | vm->pc = frame->rp; | 273 | vm->pc = frame->rp; |