Convert CXML_Parser::GetAttrValue out param to return
Change-Id: I92420cb9333ad79246a855b0af9a27348b27ceb0
Reviewed-on: https://pdfium-review.googlesource.com/22312
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/core/fxcrt/xml/cxml_parser.cpp b/core/fxcrt/xml/cxml_parser.cpp
index 76463bb..ae5fd6d 100644
--- a/core/fxcrt/xml/cxml_parser.cpp
+++ b/core/fxcrt/xml/cxml_parser.cpp
@@ -266,19 +266,20 @@
return code;
}
-void CXML_Parser::GetAttrValue(WideString& value) {
+WideString CXML_Parser::GetAttrValue() {
m_nOffset = m_nBufferOffset + static_cast<FX_FILESIZE>(m_dwIndex);
if (IsEOF())
- return;
+ return WideString();
CFX_UTF8Decoder decoder;
- uint8_t mark = 0, ch = 0;
+ uint8_t mark = 0;
+ uint8_t ch = 0;
do {
while (m_dwIndex < m_dwBufferSize) {
ch = m_pBuffer[m_dwIndex];
if (mark == 0) {
if (ch != '\'' && ch != '"')
- return;
+ return WideString();
mark = ch;
m_dwIndex++;
@@ -291,10 +292,8 @@
if (ch == '&') {
decoder.AppendCodePoint(GetCharRef());
- if (IsEOF()) {
- value = decoder.GetResult();
- return;
- }
+ if (IsEOF())
+ return WideString(decoder.GetResult());
} else {
decoder.Input(ch);
}
@@ -303,7 +302,7 @@
if (ch == mark || m_dwIndex < m_dwBufferSize || IsEOF())
break;
} while (ReadNextBlock());
- value = decoder.GetResult();
+ return WideString(decoder.GetResult());
}
void CXML_Parser::GetTagName(bool bStartTag,
@@ -407,8 +406,7 @@
if (IsEOF())
break;
- WideString attr_value;
- GetAttrValue(attr_value);
+ WideString attr_value = GetAttrValue();
pElement->SetAttribute(attr_space, attr_name, attr_value);
}
m_nOffset = m_nBufferOffset + static_cast<FX_FILESIZE>(m_dwIndex);
diff --git a/core/fxcrt/xml/cxml_parser.h b/core/fxcrt/xml/cxml_parser.h
index 04e5af5..a6f1303 100644
--- a/core/fxcrt/xml/cxml_parser.h
+++ b/core/fxcrt/xml/cxml_parser.h
@@ -27,7 +27,7 @@
bool HaveAvailData();
void SkipWhiteSpaces();
void GetName(ByteString* space, ByteString* name);
- void GetAttrValue(WideString& value);
+ WideString GetAttrValue();
uint32_t GetCharRef();
void GetTagName(bool bStartTag,
bool* bEndTag,