summaryrefslogtreecommitdiffhomepage
path: root/src/object.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-10-26 17:06:50 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-10-26 17:06:50 +0900
commit51213bfc7ddb66d5caeef6b1bd5b42333d2f28be (patch)
tree84f37adf927cf39b6b0c0ba9d05f5f328be3ec6e /src/object.c
parentfcebd1243babd7e94a657ba85022c9d187c34f25 (diff)
downloadmruby-51213bfc7ddb66d5caeef6b1bd5b42333d2f28be.tar.gz
mruby-51213bfc7ddb66d5caeef6b1bd5b42333d2f28be.zip
mrb_Integer() should not convert strings to integers
Diffstat (limited to 'src/object.c')
-rw-r--r--src/object.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/object.c b/src/object.c
index 1040a08ed..56d5e65cd 100644
--- a/src/object.c
+++ b/src/object.c
@@ -532,16 +532,14 @@ mrb_convert_to_integer(mrb_state *mrb, mrb_value val, int base)
if (base != 0) goto arg_error;
return val;
- case MRB_TT_STRING:
-string_conv:
- return mrb_str_to_inum(mrb, val, base, TRUE);
-
default:
break;
}
if (base != 0) {
tmp = mrb_check_string_type(mrb, val);
- if (!mrb_nil_p(tmp)) goto string_conv;
+ if (!mrb_nil_p(tmp)) {
+ return mrb_str_to_inum(mrb, val, base, TRUE);
+ }
arg_error:
mrb_raise(mrb, E_ARGUMENT_ERROR, "base specified for non string value");
}