diff options
Diffstat (limited to 'fpdfsdk/src/fsdk_baseannot.cpp')
-rw-r--r-- | fpdfsdk/src/fsdk_baseannot.cpp | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/fpdfsdk/src/fsdk_baseannot.cpp b/fpdfsdk/src/fsdk_baseannot.cpp index d0151fbeb2..c6731e6f56 100644 --- a/fpdfsdk/src/fsdk_baseannot.cpp +++ b/fpdfsdk/src/fsdk_baseannot.cpp @@ -4,7 +4,6 @@ // 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" @@ -220,9 +219,12 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( int i = 0; int j, k; FX_CHAR ch; - while (i < strLength && !std::isdigit(dtStr[i])) - ++i; - + while (i < strLength) { + ch = dtStr[i]; + if (ch >= '0' && ch <= '9') + break; + i++; + } if (i >= strLength) return *this; @@ -230,9 +232,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 4) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -244,9 +246,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -258,9 +260,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -272,9 +274,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -286,9 +288,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -300,9 +302,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -321,9 +323,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } @@ -338,9 +340,9 @@ CPDFSDK_DateTime& CPDFSDK_DateTime::FromPDFDateTimeString( k = 0; while (i < strLength && j < 2) { ch = dtStr[i]; - k = k * 10 + FXSYS_toDecimalDigit(ch); + k = k * 10 + ch - '0'; j++; - if (!std::isdigit(ch)) + if (ch < '0' || ch > '9') break; i++; } |