| Index: fpdfsdk/src/fsdk_baseannot.cpp
|
| diff --git a/fpdfsdk/src/fsdk_baseannot.cpp b/fpdfsdk/src/fsdk_baseannot.cpp
|
| index d0151fbeb264164f2c92f3f95796236f70f7f58c..c6731e6f568542e926a243e52b6257d16239a277 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++;
|
| }
|
|
|