summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_simple_parser.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-04-18 15:25:58 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-04-18 20:32:11 +0000
commitfdf7d4092a5fa9c79bbb4a626a4d3d087053ae2c (patch)
treea05497438a59e21948e63a88d4d557909659054a /xfa/fxfa/parser/cxfa_simple_parser.cpp
parent152bfe0f60763263e8bf7292762885eb2aec9b85 (diff)
downloadpdfium-fdf7d4092a5fa9c79bbb4a626a4d3d087053ae2c.tar.xz
Remove IFGAS_Stream::CreateWideStringReadStream
This Cl removes the wide string read stream and passes through a memory stream as needed. The callers were updated to pass the correct types. Change-Id: I8e2660859a85e38ed1c3f4c596ef7c8242762084 Reviewed-on: https://pdfium-review.googlesource.com/4172 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Nicolás Peña <npm@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_simple_parser.cpp')
-rw-r--r--xfa/fxfa/parser/cxfa_simple_parser.cpp20
1 files changed, 7 insertions, 13 deletions
diff --git a/xfa/fxfa/parser/cxfa_simple_parser.cpp b/xfa/fxfa/parser/cxfa_simple_parser.cpp
index 806e5445a0..1ebed10b4d 100644
--- a/xfa/fxfa/parser/cxfa_simple_parser.cpp
+++ b/xfa/fxfa/parser/cxfa_simple_parser.cpp
@@ -317,30 +317,24 @@ int32_t CXFA_SimpleParser::DoParse(IFX_Pause* pPause) {
return XFA_PARSESTATUS_Done;
}
-int32_t CXFA_SimpleParser::ParseXMLData(const CFX_WideString& wsXML,
- CFDE_XMLNode*& pXMLNode,
- IFX_Pause* pPause) {
+CFDE_XMLNode* CXFA_SimpleParser::ParseXMLData(const CFX_ByteString& wsXML,
+ IFX_Pause* pPause) {
CloseParser();
- pXMLNode = nullptr;
m_pXMLDoc = pdfium::MakeUnique<CFDE_XMLDoc>();
+
CFX_RetainPtr<IFGAS_Stream> pStream =
- IFGAS_Stream::CreateWideStringReadStream(wsXML);
+ IFGAS_Stream::CreateReadStream(IFX_MemoryStream::Create(
+ const_cast<uint8_t*>(wsXML.raw_str()), wsXML.GetLength()));
auto pParser =
pdfium::MakeUnique<CFDE_XMLParser>(m_pXMLDoc->GetRoot(), pStream);
pParser->m_dwCheckStatus = 0x03;
if (!m_pXMLDoc->LoadXML(std::move(pParser)))
- return XFA_PARSESTATUS_StatusErr;
+ return nullptr;
int32_t iRet = m_pXMLDoc->DoLoad(pPause);
if (iRet < 0 || iRet >= 100)
m_pXMLDoc->CloseXML();
- if (iRet < 0)
- return XFA_PARSESTATUS_SyntaxErr;
- if (iRet < 100)
- return iRet / 2;
-
- pXMLNode = GetDocumentNode(m_pXMLDoc.get());
- return XFA_PARSESTATUS_Done;
+ return iRet < 100 ? nullptr : GetDocumentNode(m_pXMLDoc.get());
}
void CXFA_SimpleParser::ConstructXFANode(CXFA_Node* pXFANode,