diff options
-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; |