diff options
author | Ryan Harrison <rharrison@chromium.org> | 2017-09-01 15:11:12 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-09-01 19:23:04 +0000 |
commit | a2188df09255b49ad41a89ae9b5de640d0b03126 (patch) | |
tree | e8fb878b806b96d795a30206347669e709ee29bf /xfa/fxfa/parser | |
parent | 7558414b8aa1d14ce02e360dd88e4f421cee8725 (diff) | |
download | pdfium-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/fxfa/parser')
-rw-r--r-- | xfa/fxfa/parser/cxfa_layoutpagemgr.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_resolveprocessor.cpp | 4 |
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; |