summaryrefslogtreecommitdiff
path: root/core/src/fpdftext
diff options
context:
space:
mode:
authordan sinclair <dsinclair@chromium.org>2015-11-10 13:17:58 -0500
committerdan sinclair <dsinclair@chromium.org>2015-11-10 13:17:58 -0500
commitb27902b8995bb3e003daed6b0811ed746763c68d (patch)
tree26817dd2ff198b9c93db85724171766b87077a54 /core/src/fpdftext
parentc813e21d261c24867234107f2e2ca72e15cb2534 (diff)
downloadpdfium-b27902b8995bb3e003daed6b0811ed746763c68d.tar.xz
Revert "Revert "Revert "Revert "Cleanup some numeric code.""""
This reverts commit da06e60fb5a095a91c9a4f509466667878624cb3. Cleanup some numeric code. This changes the various comparisons of char >= '0' && char <= '9' and char < '0' || char > '9' to use std::isdigit checks. It also cleans up a handful of hex to digit conversions to call one common method. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1433513002 .
Diffstat (limited to 'core/src/fpdftext')
-rw-r--r--core/src/fpdftext/fpdf_text.cpp7
-rw-r--r--core/src/fpdftext/fpdf_text_int.cpp11
2 files changed, 9 insertions, 9 deletions
diff --git a/core/src/fpdftext/fpdf_text.cpp b/core/src/fpdftext/fpdf_text.cpp
index 55ab483722..bef805189b 100644
--- a/core/src/fpdftext/fpdf_text.cpp
+++ b/core/src/fpdftext/fpdf_text.cpp
@@ -14,6 +14,8 @@
#include "third_party/base/nonstd_unique_ptr.h"
#include "txtproc.h"
+#include <cctype>
+
CFX_ByteString CharFromUnicodeAlt(FX_WCHAR unicode,
int destcp,
const FX_CHAR* defchar) {
@@ -436,10 +438,9 @@ void NormalizeString(CFX_WideString& str) {
static FX_BOOL IsNumber(CFX_WideString& str) {
for (int i = 0; i < str.GetLength(); i++) {
FX_WCHAR ch = str[i];
- if ((ch < '0' || ch > '9') && ch != '-' && ch != '+' && ch != '.' &&
- ch != ' ') {
+ // TODO(dsinclair): --.+ +.-- should probably not be a number.
+ if (!std::iswdigit(ch) && ch != '-' && ch != '+' && ch != '.' && ch != ' ')
return FALSE;
- }
}
return TRUE;
}
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
index dd6be313ba..7a1000ef8c 100644
--- a/core/src/fpdftext/fpdf_text_int.cpp
+++ b/core/src/fpdftext/fpdf_text_int.cpp
@@ -4,7 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#include <ctype.h>
+#include <cctype>
#include <algorithm>
#include "core/include/fpdfapi/fpdf_module.h"
@@ -2416,8 +2416,8 @@ void CPDF_TextPageFind::ExtractFindWhat(const CFX_WideString& findwhat) {
FX_BOOL CPDF_TextPageFind::IsMatchWholeWord(const CFX_WideString& csPageText,
int startPos,
int endPos) {
- int char_left = 0;
- int char_right = 0;
+ FX_WCHAR char_left = 0;
+ FX_WCHAR char_right = 0;
int char_count = endPos - startPos + 1;
if (char_count < 1) {
return FALSE;
@@ -2433,12 +2433,11 @@ FX_BOOL CPDF_TextPageFind::IsMatchWholeWord(const CFX_WideString& csPageText,
}
if ((char_left > 'A' && char_left < 'a') ||
(char_left > 'a' && char_left < 'z') ||
- (char_left > 0xfb00 && char_left < 0xfb06) ||
- (char_left >= '0' && char_left <= '9') ||
+ (char_left > 0xfb00 && char_left < 0xfb06) || std::iswdigit(char_left) ||
(char_right > 'A' && char_right < 'a') ||
(char_right > 'a' && char_right < 'z') ||
(char_right > 0xfb00 && char_right < 0xfb06) ||
- (char_right >= '0' && char_right <= '9')) {
+ std::iswdigit(char_right)) {
return FALSE;
}
if (!(('A' > char_left || char_left > 'Z') &&