diff options
author | dan sinclair <dsinclair@chromium.org> | 2015-10-29 15:08:50 -0400 |
---|---|---|
committer | dan sinclair <dsinclair@chromium.org> | 2015-10-29 15:08:50 -0400 |
commit | 23d576f0b498bd4f37ef2175916223a2e5ea0324 (patch) | |
tree | b6561f688e88f00b437eba6128c1b5129d813a7e /core/src/fxcodec | |
parent | 589f7e0a57675efce9810c15a3e9b7c49bf0bc90 (diff) | |
download | pdfium-23d576f0b498bd4f37ef2175916223a2e5ea0324.tar.xz |
Revert "Cleanup some numeric code."
This reverts commit 589f7e0a57675efce9810c15a3e9b7c49bf0bc90.
Broke the build on Mac, unable to find std::isdigit.
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1428853002 .
Diffstat (limited to 'core/src/fxcodec')
-rw-r--r-- | core/src/fxcodec/codec/fx_codec.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/core/src/fxcodec/codec/fx_codec.cpp b/core/src/fxcodec/codec/fx_codec.cpp index eca6505d12..46f479e0b1 100644 --- a/core/src/fxcodec/codec/fx_codec.cpp +++ b/core/src/fxcodec/codec/fx_codec.cpp @@ -157,13 +157,13 @@ extern "C" double FXstrtod(const char* nptr, char** endptr) { return 0.0; } for (;; ptr++) { - if (!e_number && !e_point && (*ptr == '\t' || *ptr == ' ')) + if (!e_number && !e_point && (*ptr == '\t' || *ptr == ' ')) { continue; - - if (std::isdigit(*ptr)) { - if (!e_number) + } + if (*ptr >= '0' && *ptr <= '9') { + if (!e_number) { e_number = 1; - + } if (!e_point) { ret *= 10; ret += (*ptr - '0'); @@ -188,29 +188,29 @@ extern "C" double FXstrtod(const char* nptr, char** endptr) { } } if (e_number && (*ptr == 'e' || *ptr == 'E')) { -#define EXPONENT_DETECT(ptr) \ - for (;; ptr++) { \ - if (!std::isdigit(*ptr)) { \ - if (endptr) \ - *endptr = (char*)ptr; \ - break; \ - } else { \ - exp_ret *= 10; \ - exp_ret += (*ptr - '0'); \ - continue; \ - } \ +#define EXPONENT_DETECT(ptr) \ + for (;; ptr++) { \ + if (*ptr < '0' || *ptr > '9') { \ + if (endptr) \ + *endptr = (char*)ptr; \ + break; \ + } else { \ + exp_ret *= 10; \ + exp_ret += (*ptr - '0'); \ + continue; \ + } \ } exp_ptr = ptr++; if (*ptr == '+' || *ptr == '-') { exp_sig = (*ptr++ == '+') ? 1 : -1; - if (!std::isdigit(*ptr)) { + if (*ptr < '0' || *ptr > '9') { if (endptr) { *endptr = (char*)exp_ptr; } break; } EXPONENT_DETECT(ptr); - } else if (std::isdigit(*ptr)) { + } else if (*ptr >= '0' && *ptr <= '9') { EXPONENT_DETECT(ptr); } else { if (endptr) { |