| Index: xfa/fde/xml/fde_xml_imp.h
|
| diff --git a/xfa/fde/xml/fde_xml_imp.h b/xfa/fde/xml/fde_xml_imp.h
|
| index 0f252c12dda6473aed53a8754767e2ae548a7ad0..396423a0c13fa81308c7daa1f418d8523982139c 100644
|
| --- a/xfa/fde/xml/fde_xml_imp.h
|
| +++ b/xfa/fde/xml/fde_xml_imp.h
|
| @@ -291,27 +291,6 @@ class CFDE_BlockBuffer : public CFX_Target {
|
| int32_t m_iStartPosition;
|
| };
|
|
|
| -#define FDE_XMLSYNTAXMODE_Text 0
|
| -#define FDE_XMLSYNTAXMODE_Node 1
|
| -#define FDE_XMLSYNTAXMODE_Target 2
|
| -#define FDE_XMLSYNTAXMODE_Tag 3
|
| -#define FDE_XMLSYNTAXMODE_AttriName 4
|
| -#define FDE_XMLSYNTAXMODE_AttriEqualSign 5
|
| -#define FDE_XMLSYNTAXMODE_AttriQuotation 6
|
| -#define FDE_XMLSYNTAXMODE_AttriValue 7
|
| -#define FDE_XMLSYNTAXMODE_Entity 8
|
| -#define FDE_XMLSYNTAXMODE_EntityDecimal 9
|
| -#define FDE_XMLSYNTAXMODE_EntityHex 10
|
| -#define FDE_XMLSYNTAXMODE_CloseInstruction 11
|
| -#define FDE_XMLSYNTAXMODE_BreakElement 12
|
| -#define FDE_XMLSYNTAXMODE_CloseElement 13
|
| -#define FDE_XMLSYNTAXMODE_SkipDeclNode 14
|
| -#define FDE_XMLSYNTAXMODE_DeclCharData 15
|
| -#define FDE_XMLSYNTAXMODE_SkipComment 16
|
| -#define FDE_XMLSYNTAXMODE_SkipCommentOrDecl 17
|
| -#define FDE_XMLSYNTAXMODE_SkipCData 18
|
| -#define FDE_XMLSYNTAXMODE_TargetData 19
|
| -
|
| class CFDE_XMLSyntaxParser : public CFX_Target {
|
| public:
|
| CFDE_XMLSyntaxParser();
|
| @@ -320,7 +299,7 @@ class CFDE_XMLSyntaxParser : public CFX_Target {
|
| void Init(IFX_Stream* pStream,
|
| int32_t iXMLPlaneSize,
|
| int32_t iTextDataSize = 256);
|
| - uint32_t DoSyntaxParse();
|
| + FDE_XmlSyntaxResult DoSyntaxParse();
|
| int32_t GetStatus() const;
|
| int32_t GetCurrentPos() const {
|
| return m_iParsedChars + (m_pStart - m_pBuffer);
|
| @@ -349,6 +328,29 @@ class CFDE_XMLSyntaxParser : public CFX_Target {
|
| }
|
|
|
| protected:
|
| + enum class FDE_XmlSyntaxState {
|
| + Text,
|
| + Node,
|
| + Target,
|
| + Tag,
|
| + AttriName,
|
| + AttriEqualSign,
|
| + AttriQuotation,
|
| + AttriValue,
|
| + Entity,
|
| + EntityDecimal,
|
| + EntityHex,
|
| + CloseInstruction,
|
| + BreakElement,
|
| + CloseElement,
|
| + SkipDeclNode,
|
| + DeclCharData,
|
| + SkipComment,
|
| + SkipCommentOrDecl,
|
| + SkipCData,
|
| + TargetData
|
| + };
|
| +
|
| IFX_Stream* m_pStream;
|
| int32_t m_iXMLPlaneSize;
|
| int32_t m_iCurrentPos;
|
| @@ -369,8 +371,8 @@ class CFDE_XMLSyntaxParser : public CFX_Target {
|
| FX_WCHAR* m_pCurrentBlock;
|
| int32_t m_iIndexInBlock;
|
| int32_t m_iTextDataLength;
|
| - uint32_t m_dwStatus;
|
| - uint32_t m_dwMode;
|
| + FDE_XmlSyntaxResult m_syntaxParserResult;
|
| + FDE_XmlSyntaxState m_syntaxParserState;
|
| FX_WCHAR m_wQuotationMark;
|
| int32_t m_iEntityStart;
|
| CFX_DWordStack m_SkipStack;
|
|
|