| Index: 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 759d53043993c68afeb72e3797395178eac18917..8f53b574672b379fe50ed0a2155aa4839d8b90ba 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<uint8_t> 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,
|
|
|