summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_xmllocale.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/parser/cxfa_xmllocale.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_xmllocale.cpp30
1 files changed, 10 insertions, 20 deletions
diff --git a/xfa/fxfa/parser/cxfa_xmllocale.cpp b/xfa/fxfa/parser/cxfa_xmllocale.cpp
index 1922b31d7e..e4858e907e 100644
--- a/xfa/fxfa/parser/cxfa_xmllocale.cpp
+++ b/xfa/fxfa/parser/cxfa_xmllocale.cpp
@@ -41,17 +41,15 @@ std::unique_ptr<CXFA_XMLLocale> CXFA_XMLLocale::Create(
CFX_XMLElement* locale = nullptr;
for (auto* child = doc->GetRoot()->GetFirstChild(); child;
child = child->GetNextSibling()) {
- if (child->GetType() != FX_XMLNODE_Element)
- continue;
-
- CFX_XMLElement* elem = static_cast<CFX_XMLElement*>(child);
- if (elem->GetName() == L"locale") {
+ CFX_XMLElement* elem = ToXMLElement(child);
+ if (elem && elem->GetName() == L"locale") {
locale = elem;
break;
}
}
if (!locale)
return nullptr;
+
return pdfium::MakeUnique<CXFA_XMLLocale>(std::move(doc), locale);
}
@@ -129,11 +127,8 @@ WideString CXFA_XMLLocale::GetCalendarSymbol(const WideStringView& symbol,
CFX_XMLElement* name_child = nullptr;
for (auto* name = child->GetFirstChild(); name;
name = name->GetNextSibling()) {
- if (name->GetType() != FX_XMLNODE_Element)
- continue;
-
- auto* elem = static_cast<CFX_XMLElement*>(name);
- if (elem->GetName() != pstrSymbolNames)
+ CFX_XMLElement* elem = ToXMLElement(name);
+ if (!elem || elem->GetName() != pstrSymbolNames)
continue;
WideString abbr = elem->GetAttribute(L"abbr");
@@ -213,16 +208,11 @@ WideString CXFA_XMLLocale::GetPattern(CFX_XMLElement* patterns,
const WideStringView& wsName) const {
for (auto* child = patterns->GetFirstChild(); child;
child = child->GetNextSibling()) {
- if (child->GetType() != FX_XMLNODE_Element)
- continue;
-
- CFX_XMLElement* pattern = static_cast<CFX_XMLElement*>(child);
- if (pattern->GetName() != bsTag)
- continue;
- if (pattern->GetAttribute(L"name") != wsName)
- continue;
-
- return pattern->GetTextData();
+ CFX_XMLElement* pattern = ToXMLElement(child);
+ if (pattern && pattern->GetName() == bsTag &&
+ pattern->GetAttribute(L"name") == wsName) {
+ return pattern->GetTextData();
+ }
}
return L"";
}