Permalink
Browse files

* 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
  • Loading branch information...
1 parent 375aedb commit a258d6f4157908b8360ee005b20bddb0969ce0aa @nobu nobu committed Mar 15, 2012
Showing with 9 additions and 3 deletions.
  1. +4 −1 ChangeLog
  2. +5 −2 util.c
View
5 ChangeLog
@@ -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.
View
7 util.c
@@ -1977,8 +1977,11 @@ ruby_strtod(const char *s00, char **se)
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;

0 comments on commit a258d6f

Please sign in to comment.