summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fde/css/fde_cssdatatable.cpp1
-rw-r--r--xfa/fgas/crt/fgas_algorithm.h37
-rw-r--r--xfa/fxfa/app/xfa_textlayout.cpp1
-rw-r--r--xfa/fxfa/parser/xfa_basic_imp.cpp18
4 files changed, 8 insertions, 49 deletions
diff --git a/xfa/fde/css/fde_cssdatatable.cpp b/xfa/fde/css/fde_cssdatatable.cpp
index 4399053518..1af0059cb6 100644
--- a/xfa/fde/css/fde_cssdatatable.cpp
+++ b/xfa/fde/css/fde_cssdatatable.cpp
@@ -7,7 +7,6 @@
#include "xfa/fde/css/fde_cssdatatable.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"
diff --git a/xfa/fgas/crt/fgas_algorithm.h b/xfa/fgas/crt/fgas_algorithm.h
deleted file mode 100644
index f68b53f8cc..0000000000
--- a/xfa/fgas/crt/fgas_algorithm.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef XFA_FGAS_CRT_FGAS_ALGORITHM_H_
-#define XFA_FGAS_CRT_FGAS_ALGORITHM_H_
-
-#include <cstdint>
-
-#include "core/fxcrt/include/fx_basic.h"
-
-template <class baseType>
-class CFX_DSPATemplate {
- public:
- int32_t Lookup(const baseType& find, const baseType* pArray, int32_t iCount) {
- ASSERT(pArray);
- if (iCount < 1)
- return -1;
-
- int32_t iStart = 0, iEnd = iCount - 1, iMid;
- do {
- iMid = (iStart + iEnd) / 2;
- const baseType& v = pArray[iMid];
- if (find == v)
- return iMid;
- if (find < v)
- iEnd = iMid - 1;
- else
- iStart = iMid + 1;
- } while (iStart <= iEnd);
- return -1;
- }
-};
-
-#endif // XFA_FGAS_CRT_FGAS_ALGORITHM_H_
diff --git a/xfa/fxfa/app/xfa_textlayout.cpp b/xfa/fxfa/app/xfa_textlayout.cpp
index a382d83bd9..fe72e29c05 100644
--- a/xfa/fxfa/app/xfa_textlayout.cpp
+++ b/xfa/fxfa/app/xfa_textlayout.cpp
@@ -15,7 +15,6 @@
#include "xfa/fde/fde_gedevice.h"
#include "xfa/fde/fde_object.h"
#include "xfa/fde/xml/fde_xml_imp.h"
-#include "xfa/fgas/crt/fgas_algorithm.h"
#include "xfa/fgas/crt/fgas_codepage.h"
#include "xfa/fxfa/app/xfa_ffwidgetacc.h"
#include "xfa/fxfa/include/xfa_ffapp.h"
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<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,