summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-11-30 22:36:26 +0900
committerdearblue <[email protected]>2020-11-30 22:36:26 +0900
commit0ecb0fd97be3a8f9a7a092d5949a390957b5df0c (patch)
tree625488603ac785495e9fd8bc62fba0c52da99d79 /src
parent9f5c0777f17fe8caff89cef75f2056262e708349 (diff)
downloadmruby-0ecb0fd97be3a8f9a7a092d5949a390957b5df0c.tar.gz
mruby-0ecb0fd97be3a8f9a7a092d5949a390957b5df0c.zip
Fixed print catch handler address in codedump; ref #5200
It became 32 bits in #5200, but only the upper 16 bits were printed.
Diffstat (limited to 'src')
-rw-r--r--src/codedump.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/codedump.c b/src/codedump.c
index 94d4f24c0..bc882b890 100644
--- a/src/codedump.c
+++ b/src/codedump.c
@@ -86,9 +86,9 @@ codedump(mrb_state *mrb, const mrb_irep *irep)
const struct mrb_irep_catch_handler *e = mrb_irep_catch_handler_table(irep);
for (; i > 0; i --, e ++) {
- int begin = bin_to_uint16(e->begin);
- int end = bin_to_uint16(e->end);
- int target = bin_to_uint16(e->target);
+ uint32_t begin = mrb_irep_catch_handler_unpack(e->begin);
+ uint32_t end = mrb_irep_catch_handler_unpack(e->end);
+ uint32_t target = mrb_irep_catch_handler_unpack(e->target);
char buf[20];
const char *type;
@@ -105,7 +105,7 @@ codedump(mrb_state *mrb, const mrb_irep *irep)
type = buf;
break;
}
- printf("catch type: %-8s begin: %04d end: %04d target: %04d\n", type, begin, end, target);
+ printf("catch type: %-8s begin: %04" PRIu32 " end: %04" PRIu32 " target: %04" PRIu32 "\n", type, begin, end, target);
}
}