From 14feba7b2fcd56e42aa9aece6222cb540cc61891 Mon Sep 17 00:00:00 2001 From: CismonX Date: Tue, 21 Apr 2020 11:09:17 +0800 Subject: [PATCH] bugfix --- src/logging.c | 2 +- src/vm_stack.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/logging.c b/src/logging.c index 96146d5..9f4c855 100644 --- a/src/logging.c +++ b/src/logging.c @@ -109,7 +109,7 @@ u6a_err_invalid_uint(const char* stage, const char* str) { U6A_COLD void u6a_err_uint_not_in_range(const char* stage, uint32_t min_val, uint32_t max_val, uint32_t got) { - fprintf(stderr, "%s: [%s] Integer out of range - [%" PRIu32 ", %" PRIu32 "] expected, %" PRIu32 " given.", + fprintf(stderr, "%s: [%s] Integer out of range - [%" PRIu32 ", %" PRIu32 "] expected, %" PRIu32 " given.\n", prog_name, stage, min_val, max_val, got); } diff --git a/src/vm_stack.c b/src/vm_stack.c index e77b5a5..224375d 100644 --- a/src/vm_stack.c +++ b/src/vm_stack.c @@ -208,7 +208,7 @@ u6a_vm_stack_pop() { active_stack = vs; return false; } - if (active_stack->refcnt-- > 1) { + if (--active_stack->refcnt > 0) { active_stack = vm_stack_dup(active_stack); } if (UNLIKELY(active_stack == NULL)) { @@ -216,6 +216,7 @@ u6a_vm_stack_pop() { return false; }; free(vs); + --active_stack->top; return true; }