summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-01 03:04:07 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-01 03:04:07 +0000
commit551fe2bddc0de817b4aca716034f70cf53534f93 (patch)
treeca6ad86ee20637b7e4537ab54a642d3054f3f29b
parentf893b2f1f26bd65f2508a3abdb15bd048cfc69cb (diff)
* bignum.c (rb_cstr_to_inum): Skip leading zeros.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--bignum.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 12c80f13ae..716bd41dc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Jul 1 12:02:39 2013 Tanaka Akira <akr@fsij.org>
+
+ * bignum.c (rb_cstr_to_inum): Skip leading zeros.
+
Mon Jul 1 00:59:23 2013 Tanaka Akira <akr@fsij.org>
* bignum.c (nlz16): New function.
diff --git a/bignum.c b/bignum.c
index 4c06a7ae59..9b3cf2745d 100644
--- a/bignum.c
+++ b/bignum.c
@@ -2028,6 +2028,9 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
}
}
+ while (buf < p && *buf == 0)
+ buf++;
+
if (POW2_P(base)) {
int flags = INTEGER_PACK_BIG_ENDIAN;
if (!sign)