From 7a213d9e27fd7d35359183ab5fc95aae186e6722 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Tue, 24 May 2016 12:15:09 -0700 Subject: Replace CFX_DSPATemplate with std::binary_search. This CL replaces the last instance of CFX_DSPATemplate with std::binary_search. Review-Url: https://codereview.chromium.org/2007443003 --- xfa/fxfa/parser/xfa_basic_imp.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'xfa/fxfa/parser/xfa_basic_imp.cpp') diff --git a/xfa/fxfa/parser/xfa_basic_imp.cpp b/xfa/fxfa/parser/xfa_basic_imp.cpp index 759d530439..8f53b57467 100644 --- a/xfa/fxfa/parser/xfa_basic_imp.cpp +++ b/xfa/fxfa/parser/xfa_basic_imp.cpp @@ -7,7 +7,6 @@ #include "xfa/fxfa/parser/xfa_basic_imp.h" #include "core/fxcrt/include/fx_ext.h" -#include "xfa/fgas/crt/fgas_algorithm.h" #include "xfa/fgas/crt/fgas_codepage.h" #include "xfa/fgas/crt/fgas_system.h" #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" @@ -215,24 +214,23 @@ const uint8_t* XFA_GetElementAttributes(XFA_ELEMENT eElement, int32_t& iCount) { iCount = pElement->wCount; return g_XFAElementAttributeData + pElement->wStart; } + const XFA_ATTRIBUTEINFO* XFA_GetAttributeOfElement(XFA_ELEMENT eElement, XFA_ATTRIBUTE eAttribute, uint32_t dwPacket) { int32_t iCount = 0; const uint8_t* pAttr = XFA_GetElementAttributes(eElement, iCount); - if (pAttr == NULL || iCount < 1) { - return NULL; - } - CFX_DSPATemplate search; - int32_t index = search.Lookup(eAttribute, pAttr, iCount); - if (index < 0) { - return NULL; - } + if (!pAttr || iCount < 1) + return nullptr; + + if (!std::binary_search(pAttr, pAttr + iCount, eAttribute)) + return nullptr; + const XFA_ATTRIBUTEINFO* pInfo = XFA_GetAttributeByID(eAttribute); ASSERT(pInfo); if (dwPacket == XFA_XDPPACKET_UNKNOWN) return pInfo; - return (dwPacket & pInfo->dwPackets) ? pInfo : NULL; + return (dwPacket & pInfo->dwPackets) ? pInfo : nullptr; } const XFA_PROPERTY* XFA_GetElementProperties(XFA_ELEMENT eElement, -- cgit v1.2.3