summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--prism_compile.c6
-rw-r--r--test/ruby/test_compile_prism.rb1
2 files changed, 4 insertions, 3 deletions
diff --git a/prism_compile.c b/prism_compile.c
index 95544ccda1..299752b457 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -78,8 +78,8 @@ pm_iseq_new_with_opt(pm_scope_node_t *scope_node, pm_parser_t *parser, VALUE nam
static VALUE
parse_integer(const pm_integer_node_t *node)
{
- const char *start = (const char *) node->base.location.start;
- const char *end = (const char *) node->base.location.end;
+ char *start = (char *) node->base.location.start;
+ char *end = (char *) node->base.location.end;
size_t length = end - start;
int base = -10;
@@ -101,7 +101,7 @@ parse_integer(const pm_integer_node_t *node)
rb_bug("Unexpected integer base");
}
- return rb_int_parse_cstr(start, length, NULL, NULL, base, RB_INT_PARSE_DEFAULT);
+ return rb_int_parse_cstr(start, length, &end, NULL, base, RB_INT_PARSE_DEFAULT);
}
static VALUE
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index 0409fc3e46..f5849afd83 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -34,6 +34,7 @@ module Prism
assert_prism_eval("0b10")
assert_prism_eval("0o10")
assert_prism_eval("010")
+ assert_prism_eval("(0o00)")
end
def test_NilNode