summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
diff options
context:
space:
mode:
authordan sinclair <dsinclair@chromium.org>2015-10-29 15:08:50 -0400
committerdan sinclair <dsinclair@chromium.org>2015-10-29 15:08:50 -0400
commit23d576f0b498bd4f37ef2175916223a2e5ea0324 (patch)
treeb6561f688e88f00b437eba6128c1b5129d813a7e /core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
parent589f7e0a57675efce9810c15a3e9b7c49bf0bc90 (diff)
downloadpdfium-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/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp')
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
index eaff29d812..255d0ce29c 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp
@@ -8,7 +8,6 @@
#include "../../../include/fpdfapi/fpdf_parser.h"
#include "../../../include/fpdfapi/fpdf_module.h"
#include "../../../include/fxcodec/fx_codec.h"
-#include "../../../include/fxcrt/fx_ext.h"
#define _STREAM_MAX_SIZE_ 20 * 1024 * 1024
@@ -136,20 +135,23 @@ FX_DWORD _HexDecode(const uint8_t* src_buf,
continue;
int digit;
- if (std::isxdigit(ch)) {
- digit = HexCharToDigit(ch);
+ if (ch <= '9' && ch >= '0') {
+ digit = ch - '0';
+ } else if (ch <= 'f' && ch >= 'a') {
+ digit = ch - 'a' + 10;
+ } else if (ch <= 'F' && ch >= 'A') {
+ digit = ch - 'A' + 10;
} else if (ch == '>') {
i++;
break;
} else {
continue;
}
-
- if (bFirstDigit)
+ if (bFirstDigit) {
dest_buf[dest_size] = digit * 16;
- else
+ } else {
dest_buf[dest_size++] += digit;
-
+ }
bFirstDigit = !bFirstDigit;
}
if (!bFirstDigit) {