summaryrefslogtreecommitdiff
path: root/fpdfsdk/src/fsdk_baseannot.cpp
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 /fpdfsdk/src/fsdk_baseannot.cpp
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 'fpdfsdk/src/fsdk_baseannot.cpp')
-rw-r--r--fpdfsdk/src/fsdk_baseannot.cpp42
1 files changed, 20 insertions, 22 deletions
diff --git a/fpdfsdk/src/fsdk_baseannot.cpp b/fpdfsdk/src/fsdk_baseannot.cpp
index 52f34fae8e..1ccac9275a 100644
--- a/fpdfsdk/src/fsdk_baseannot.cpp
+++ b/fpdfsdk/src/fsdk_baseannot.cpp
@@ -4,6 +4,7 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+#include "../../core/include/fxcrt/fx_ext.h"
#include "../include/fsdk_define.h"
#include "../include/fsdk_mgr.h"
#include "../include/fsdk_baseannot.h"
@@ -216,12 +217,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
int i = 0;
int j, k;
FX_CHAR ch;
- while (i < strLength) {
- ch = dtStr[i];
- if (ch >= '0' && ch <= '9')
- break;
- i++;
- }
+ while (i < strLength && !std::isdigit(dtStr[i]))
+ ++i;
+
if (i >= strLength)
return *this;
@@ -229,9 +227,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 4) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -243,9 +241,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -257,9 +255,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -271,9 +269,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -285,9 +283,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -299,9 +297,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -320,9 +318,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}
@@ -337,9 +335,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString(
k = 0;
while (i < strLength && j < 2) {
ch = dtStr[i];
- k = k * 10 + ch - '0';
+ k = k * 10 + FXSYS_toDecimalDigit(ch);
j++;
- if (ch < '0' || ch > '9')
+ if (!std::isdigit(ch))
break;
i++;
}