From 0279067dc423b4fc3dbf68889be129ce21f23cf8 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sat, 15 Apr 2023 22:39:05 +0900 Subject: [PATCH] Returns the value of `Integer#~` from `mrb_bint_rev()` fixed #5987 --- src/numeric.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/numeric.c b/src/numeric.c index 649e0229e..77f8e6c55 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -1365,13 +1365,12 @@ int_equal(mrb_state *mrb, mrb_value x) static mrb_value int_rev(mrb_state *mrb, mrb_value num) { - mrb_int val = mrb_integer(num); - #ifdef MRB_USE_BIGINT if (mrb_bigint_p(num)) { - mrb_bint_rev(mrb, num); + return mrb_bint_rev(mrb, num); } #endif + mrb_int val = mrb_integer(num); return mrb_int_value(mrb, ~val); }