diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2023-11-01 22:54:45 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2023-11-01 22:54:45 +0000 |
commit | b6e359f5ebf914ecbe2b4c68d7d800e32005a7cd (patch) | |
tree | 741d0ad7b45e2a8251af25787a239d5bff296902 /vm | |
parent | 101d7d372d560dfdb1edc7e6b72350304d26603b (diff) | |
download | ovm-b6e359f5ebf914ecbe2b4c68d7d800e32005a7cd.tar.gz ovm-b6e359f5ebf914ecbe2b4c68d7d800e32005a7cd.tar.bz2 ovm-b6e359f5ebf914ecbe2b4c68d7d800e32005a7cd.zip |
Fixed issue where sometimes vm_print_registers wouldn't work for bytes
Happened because we weren't printing all relevant words due to
naturally flooring the result of division. Here I ceil the division
to ensure we get the maximal number of words necessary.
Diffstat (limited to 'vm')
-rw-r--r-- | vm/runtime.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vm/runtime.c b/vm/runtime.c index 421256a..1f5396a 100644 --- a/vm/runtime.c +++ b/vm/runtime.c @@ -371,7 +371,7 @@ void vm_print_registers(vm_t *vm, FILE *fp) vm->registers.available / HWORD_SIZE, vm->registers.available / WORD_SIZE); fprintf(fp, "Registers.reg = ["); - for (size_t i = 0; i < (reg.used / WORD_SIZE); ++i) + for (size_t i = 0; i < ceil((long double)reg.used / WORD_SIZE); ++i) { fprintf(fp, "{%lu:%lX}", i, VM_NTH_REGISTER(reg, i)); if (i != reg.used - 1) |