From 69da36c5f841e8c6e5ded6c704d9ef58c57d532a Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Fri, 9 Mar 2018 17:46:50 +0000 Subject: Explicitly mark helper methods that only operate on ASCII ranges A number of our character helper methods take in wide character types, but only do tests/operations on the ASCII range of characters. As a very quick first pass I am renaming all of the foot-gun methods to explictly call out this behaviour, while I do a bigger cleanup/refactor. BUG=pdfium:1035 Change-Id: Ia035dfa1cb6812fa6d45155c4565475032c4c165 Reviewed-on: https://pdfium-review.googlesource.com/28330 Commit-Queue: Ryan Harrison Commit-Queue: dsinclair Reviewed-by: Henrique Nakashima Reviewed-by: dsinclair --- fxjs/cfxjse_formcalc_context.cpp | 2 +- fxjs/cjs_publicmethods.cpp | 4 ++-- fxjs/cjs_util.cpp | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'fxjs') diff --git a/fxjs/cfxjse_formcalc_context.cpp b/fxjs/cfxjse_formcalc_context.cpp index 9cd3a739d6..14053c8d33 100644 --- a/fxjs/cfxjse_formcalc_context.cpp +++ b/fxjs/cfxjse_formcalc_context.cpp @@ -1892,7 +1892,7 @@ bool CFXJSE_FormCalcContext::IsIsoTimeFormat(const char* pData, iIndex += kSubSecondLength; } - if (iIndex < iLength && FXSYS_tolower(pData[iIndex]) == 'z') + if (iIndex < iLength && FXSYS_toASCIIlower(pData[iIndex]) == 'z') return true; int32_t iSign = 1; diff --git a/fxjs/cjs_publicmethods.cpp b/fxjs/cjs_publicmethods.cpp index 74428c3724..d613f4888a 100644 --- a/fxjs/cjs_publicmethods.cpp +++ b/fxjs/cjs_publicmethods.cpp @@ -283,9 +283,9 @@ bool CJS_PublicMethods::MaskSatisfied(wchar_t c_Change, wchar_t c_Mask) { case L'9': return !!std::iswdigit(c_Change); case L'A': - return FXSYS_iswalpha(c_Change); + return FXSYS_iswASCIIalpha(c_Change); case L'O': - return FXSYS_iswalnum(c_Change); + return FXSYS_iswASCIIalnum(c_Change); case L'X': return true; default: diff --git a/fxjs/cjs_util.cpp b/fxjs/cjs_util.cpp index 56bf4133d3..d552fcdf34 100644 --- a/fxjs/cjs_util.cpp +++ b/fxjs/cjs_util.cpp @@ -264,9 +264,9 @@ CJS_Return CJS_Util::printx(CJS_Runtime* pRuntime, enum CaseMode { kPreserveCase, kUpperCase, kLowerCase }; static wchar_t TranslateCase(wchar_t input, CaseMode eMode) { - if (eMode == kLowerCase && FXSYS_isupper(input)) + if (eMode == kLowerCase && FXSYS_isASCIIupper(input)) return input | 0x20; - if (eMode == kUpperCase && FXSYS_islower(input)) + if (eMode == kUpperCase && FXSYS_isASCIIlower(input)) return input & ~0x20; return input; } @@ -311,7 +311,7 @@ WideString CJS_Util::printx(const WideString& wsFormat, } break; case 'X': { if (iSourceIdx < wsSource.GetLength()) { - if (FXSYS_iswalnum(wsSource[iSourceIdx])) { + if (FXSYS_iswASCIIalnum(wsSource[iSourceIdx])) { wsResult += TranslateCase(wsSource[iSourceIdx], eCaseMode); ++iFormatIdx; } @@ -322,7 +322,7 @@ WideString CJS_Util::printx(const WideString& wsFormat, } break; case 'A': { if (iSourceIdx < wsSource.GetLength()) { - if (FXSYS_iswalpha(wsSource[iSourceIdx])) { + if (FXSYS_iswASCIIalpha(wsSource[iSourceIdx])) { wsResult += TranslateCase(wsSource[iSourceIdx], eCaseMode); ++iFormatIdx; } -- cgit v1.2.3