summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
authorRyan Harrison <rharrison@chromium.org>2017-09-01 15:11:12 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-09-01 19:23:04 +0000
commita2188df09255b49ad41a89ae9b5de640d0b03126 (patch)
treee8fb878b806b96d795a30206347669e709ee29bf /xfa
parent7558414b8aa1d14ce02e360dd88e4f421cee8725 (diff)
downloadpdfium-a2188df09255b49ad41a89ae9b5de640d0b03126.tar.xz
Cleanup usages of Mid(foo, 1), Right(1), and Left(1)chromium/3203
Mid(foo, 1) is equivalent to [foo], if all you want is the character. Similarly Left(1) is [0]. It is faster also, since it does not need to create intermediate strings. Right(1) is a touch more tricky, since it requires something like GetLength() ? [GetLength() - 1] : 0;. A new method, Last() has been added to perform this character extraction. Multiple call sites have been updated to use more efficient/simpler syntax. There are a number of call sites that use on these patterns, but based on the surrounding context we actually need/want a string, so they have not been modified. Change-Id: I485a7f9c7b34c9bdacecada610158f996816afdd Reviewed-on: https://pdfium-review.googlesource.com/12890 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fxfa/parser/cxfa_layoutpagemgr.cpp2
-rw-r--r--xfa/fxfa/parser/cxfa_resolveprocessor.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
index b02efbb45d..b80100a5f0 100644
--- a/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
+++ b/xfa/fxfa/parser/cxfa_layoutpagemgr.cpp
@@ -170,7 +170,7 @@ CXFA_Node* ResolveBreakTarget(CXFA_Node* pPageSetRoot,
return pNode;
} else if (bNewExprStyle) {
CFX_WideString wsProcessedTarget = wsExpr;
- if (wsExpr.Left(4) == L"som(" && wsExpr.Right(1) == L")") {
+ if (wsExpr.Left(4) == L"som(" && wsExpr.Last() == L')') {
wsProcessedTarget = wsExpr.Mid(4, wsExpr.GetLength() - 5);
}
XFA_RESOLVENODE_RS rs;
diff --git a/xfa/fxfa/parser/cxfa_resolveprocessor.cpp b/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
index fe4605b4f0..15c3f14b23 100644
--- a/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
+++ b/xfa/fxfa/parser/cxfa_resolveprocessor.cpp
@@ -661,9 +661,9 @@ void CXFA_ResolveProcessor::DoPredicateFilter(int32_t iCurIndex,
ASSERT(iFoundCount == pdfium::CollectionSize<int32_t>(rnd.m_Objects));
CFX_WideString wsExpression;
XFA_SCRIPTLANGTYPE eLangType = XFA_SCRIPTLANGTYPE_Unkown;
- if (wsCondition.Left(2) == L".[" && wsCondition.Right(1) == L"]") {
+ if (wsCondition.Left(2) == L".[" && wsCondition.Last() == L']') {
eLangType = XFA_SCRIPTLANGTYPE_Formcalc;
- } else if (wsCondition.Left(2) == L".(" && wsCondition.Right(1) == L")") {
+ } else if (wsCondition.Left(2) == L".(" && wsCondition.Last() == L')') {
eLangType = XFA_SCRIPTLANGTYPE_Javascript;
} else {
return;