diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-15 06:04:56 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-15 06:04:56 +0000 |
commit | a258d6f4157908b8360ee005b20bddb0969ce0aa (patch) | |
tree | 2c32ef641240734f1ad166f242e48f79b1b39bf8 | |
parent | 375aedbfb4d1a93ab2d9573fcb34cf4d6c474de2 (diff) | |
download | ruby-a258d6f4157908b8360ee005b20bddb0969ce0aa.tar.gz |
* util.c (ruby_strtod): no need to check same digit for hexdigit
twice. [ruby-dev:45363][Bug #6146]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | util.c | 7 |
2 files changed, 9 insertions, 3 deletions
@@ -1,4 +1,7 @@ -Thu Mar 15 15:04:41 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> +Thu Mar 15 15:04:54 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * util.c (ruby_strtod): no need to check same digit for hexdigit + twice. [ruby-dev:45363][Bug #6146] * parse.y (sym_check_asciionly): check ascii compatibility before scanning for code range. @@ -1977,8 +1977,11 @@ break2: nd0 = -4; if (!*++s || !(s1 = strchr(hexdigit, *s))) goto ret0; - while (*s == '0') s++; - if ((s1 = strchr(hexdigit, *s)) != NULL) { + if (*s == '0') { + while (*++s == '0'); + s1 = strchr(hexdigit, *s); + } + if (s1 != NULL) { do { adj += aadj * ((s1 - hexdigit) & 15); nd0 += 4; |