diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2015-11-03 14:54:35 -0500 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2015-11-03 14:54:35 -0500 |
commit | e0e922db5fb77df9a5a9cc802096f484ed21da1c (patch) | |
tree | d6b3da42c1a28ec150c5cb9fe6b00d8f6af099d5 /fpdfsdk/src/fsdk_baseannot.cpp | |
parent | c9e76c09b9e7901823ac52a3705da235bd2abe24 (diff) | |
download | pdfium-e0e922db5fb77df9a5a9cc802096f484ed21da1c.tar.xz |
Revert "Revert "Cleanup some numeric code.""
This reverts commit 23d576f0b498bd4f37ef2175916223a2e5ea0324.
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/1405253007 .
Diffstat (limited to 'fpdfsdk/src/fsdk_baseannot.cpp')
-rw-r--r-- | fpdfsdk/src/fsdk_baseannot.cpp | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/fpdfsdk/src/fsdk_baseannot.cpp b/fpdfsdk/src/fsdk_baseannot.cpp index c6731e6f56..d0151fbeb2 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" @@ -219,12 +220,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; @@ -232,9 +230,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++; } @@ -246,9 +244,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++; } @@ -260,9 +258,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++; } @@ -274,9 +272,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++; } @@ -288,9 +286,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++; } @@ -302,9 +300,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++; } @@ -323,9 +321,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++; } @@ -340,9 +338,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++; } |