From 7e93a2c4f3279677ea31db81d85af70c7b3bff5a Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 28 Apr 2017 12:09:37 -0700 Subject: CXFA_FMStringExpression: int16_t is not a good type for a string index. Use early return while we're at it. Bug: 716519 Change-Id: I4630d8b6121266c76a53f0171ba6dfd307da725a Reviewed-on: https://pdfium-review.googlesource.com/4611 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- xfa/fxfa/fm2js/xfa_simpleexpression.cpp | 41 +++++++++++++++++---------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'xfa/fxfa/fm2js/xfa_simpleexpression.cpp') diff --git a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp index 872fe7e2e8..fabdaa60f0 100644 --- a/xfa/fxfa/fm2js/xfa_simpleexpression.cpp +++ b/xfa/fxfa/fm2js/xfa_simpleexpression.cpp @@ -153,28 +153,29 @@ CXFA_FMStringExpression::~CXFA_FMStringExpression() {} void CXFA_FMStringExpression::ToJavaScript(CFX_WideTextBuf& javascript) { CFX_WideString tempStr(m_wsString); - if (tempStr.GetLength() > 2) { - javascript.AppendChar(L'\"'); - wchar_t oneChar; - for (int16_t i = 1; i < tempStr.GetLength() - 1; i++) { - oneChar = tempStr[i]; - switch (oneChar) { - case L'\"': { - i++; - javascript << L"\\\""; - } break; - case 0x0d: - break; - case 0x0a: { - javascript << L"\\n"; - } break; - default: { javascript.AppendChar(oneChar); } break; - } - } - javascript.AppendChar(L'\"'); - } else { + if (tempStr.GetLength() <= 2) { javascript << tempStr; + return; + } + javascript.AppendChar(L'\"'); + for (int32_t i = 1; i < tempStr.GetLength() - 1; i++) { + wchar_t oneChar = tempStr[i]; + switch (oneChar) { + case L'\"': + i++; + javascript << L"\\\""; + break; + case 0x0d: + break; + case 0x0a: + javascript << L"\\n"; + break; + default: + javascript.AppendChar(oneChar); + break; + } } + javascript.AppendChar(L'\"'); } CXFA_FMIdentifierExpression::CXFA_FMIdentifierExpression( -- cgit v1.2.3