зеркало из https://github.com/github/ruby.git
* bignum.c (rb_cstr_to_inum): '0_2' is a valid representatin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
7b83d04514
Коммит
fb997983a2
|
@ -1,3 +1,7 @@
|
|||
Wed Jan 30 12:06:43 2008 Tadayoshi Funaba <tadf@dotrb.org>
|
||||
|
||||
* bignum.c (rb_cstr_to_inum): '0_2' is a valid representatin.
|
||||
|
||||
Wed Jan 30 11:57:50 2008 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* bootstraptest/runner.rb: fix -I../../hoge case.
|
||||
|
|
12
bignum.c
12
bignum.c
|
@ -438,7 +438,7 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
|
|||
len = 2;
|
||||
break;
|
||||
case 8:
|
||||
if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O'||str[1] == '_')) {
|
||||
if (str[0] == '0' && (str[1] == 'o'||str[1] == 'O')) {
|
||||
str += 2;
|
||||
}
|
||||
case 4: case 5: case 6: case 7:
|
||||
|
@ -470,7 +470,15 @@ rb_cstr_to_inum(const char *str, int base, int badcheck)
|
|||
break;
|
||||
}
|
||||
if (*str == '0') { /* squeeze preceding 0s */
|
||||
while (*++str == '0');
|
||||
int nn = 0;
|
||||
while ((c = *++str) == '0' || c == '_') {
|
||||
if (c == '_') {
|
||||
nn++;
|
||||
if (nn >= 2)
|
||||
break;
|
||||
} else
|
||||
nn = 0;
|
||||
}
|
||||
if (!(c = *str) || ISSPACE(c)) --str;
|
||||
}
|
||||
c = *str;
|
||||
|
|
Загрузка…
Ссылка в новой задаче