diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-07-26 19:34:26 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-07-26 19:34:26 +0000 |
commit | c9171e16d9d4477501d326d8d456fdc03e0f832e (patch) | |
tree | 89a91af4803e820b2e7f8c6e9901915c3415d72c /core/fxcrt/xml/cfx_xmlparser.cpp | |
parent | ea360af9048e7083107f9e27f8967351df241f70 (diff) | |
download | pdfium-c9171e16d9d4477501d326d8d456fdc03e0f832e.tar.xz |
Use moar ToXMLElement() in place of static_cast<>.
Introduces checks in a few new places, but mainly just consolidates
checking/casting logic.
Change-Id: I634a03060d254db099972c6978249992367e146c
Reviewed-on: https://pdfium-review.googlesource.com/38900
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fxcrt/xml/cfx_xmlparser.cpp')
-rw-r--r-- | core/fxcrt/xml/cfx_xmlparser.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/core/fxcrt/xml/cfx_xmlparser.cpp b/core/fxcrt/xml/cfx_xmlparser.cpp index 268774a10f..dd28cf8adc 100644 --- a/core/fxcrt/xml/cfx_xmlparser.cpp +++ b/core/fxcrt/xml/cfx_xmlparser.cpp @@ -262,11 +262,10 @@ bool CFX_XMLParser::DoSyntaxParse(CFX_XMLDocument* doc) { current_buffer_idx++; current_parser_state = FDE_XmlSyntaxState::AttriName; - if (current_node_ && - current_node_->GetType() == FX_XMLNODE_Element) { - static_cast<CFX_XMLElement*>(current_node_) - ->SetAttribute(current_attribute_name, GetTextData()); - } + CFX_XMLElement* elem = ToXMLElement(current_node_); + if (elem) + elem->SetAttribute(current_attribute_name, GetTextData()); + current_attribute_name.clear(); } else { ProcessTextChar(ch); @@ -311,13 +310,13 @@ bool CFX_XMLParser::DoSyntaxParse(CFX_XMLDocument* doc) { node_type_stack.pop(); current_parser_state = FDE_XmlSyntaxState::Text; - if (current_node_->GetType() != FX_XMLNODE_Element) + CFX_XMLElement* element = ToXMLElement(current_node_); + if (!element) return false; WideString element_name = GetTextData(); if (element_name.GetLength() > 0 && - element_name != - static_cast<CFX_XMLElement*>(current_node_)->GetName()) { + element_name != element->GetName()) { return false; } |