Index: core/fxcrt/fx_xml_parser.cpp |
diff --git a/core/fxcrt/fx_xml_parser.cpp b/core/fxcrt/fx_xml_parser.cpp |
index e6c3543378698d9caf6f13433857983c2902d6f2..bfd0f940e6a21427e60ce1a3c0a08d30a73a3408 100644 |
--- a/core/fxcrt/fx_xml_parser.cpp |
+++ b/core/fxcrt/fx_xml_parser.cpp |
@@ -13,6 +13,62 @@ |
#include "third_party/base/ptr_util.h" |
#include "third_party/base/stl_util.h" |
+namespace { |
+ |
+#define FXCRTM_XML_CHARTYPE_Normal 0x00 |
npm
2016/10/26 18:26:04
Some of these appear to be unused. Remove them
Tom Sepez
2016/10/26 20:47:03
Yes, but they document what the bits are in the by
|
+#define FXCRTM_XML_CHARTYPE_SpaceChar 0x01 |
+#define FXCRTM_XML_CHARTYPE_Letter 0x02 |
+#define FXCRTM_XML_CHARTYPE_Digital 0x04 |
+#define FXCRTM_XML_CHARTYPE_NameIntro 0x08 |
+#define FXCRTM_XML_CHARTYPE_NameChar 0x10 |
+#define FXCRTM_XML_CHARTYPE_HexDigital 0x20 |
+#define FXCRTM_XML_CHARTYPE_HexLowerLetter 0x40 |
+#define FXCRTM_XML_CHARTYPE_HexUpperLetter 0x60 |
+#define FXCRTM_XML_CHARTYPE_HexChar 0x60 |
+ |
+const uint8_t g_FXCRT_XML_ByteTypes[256] = { |
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, |
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, |
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, |
+ 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x08, 0x00, |
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x18, |
+ 0x00, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
+ 0x1A, 0x1A, 0x01, 0x01, |
+}; |
+ |
+bool g_FXCRT_XML_IsWhiteSpace(uint8_t ch) { |
+ return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_SpaceChar); |
+} |
+ |
+bool g_FXCRT_XML_IsDigital(uint8_t ch) { |
+ return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_Digital); |
+} |
+ |
+bool g_FXCRT_XML_IsNameIntro(uint8_t ch) { |
+ return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameIntro); |
+} |
+ |
+bool g_FXCRT_XML_IsNameChar(uint8_t ch) { |
+ return !!(g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameChar); |
+} |
+ |
+} // namespace |
+ |
CXML_DataBufAcc::CXML_DataBufAcc(const uint8_t* pBuffer, size_t size) |
: m_pBuffer(pBuffer), m_dwSize(size), m_dwCurPos(0) {} |
@@ -128,94 +184,45 @@ CXML_Parser::~CXML_Parser() { |
} |
} |
-FX_BOOL CXML_Parser::Init(uint8_t* pBuffer, size_t size) { |
+bool CXML_Parser::Init(uint8_t* pBuffer, size_t size) { |
m_pDataAcc = new CXML_DataBufAcc(pBuffer, size); |
- return Init(TRUE); |
+ return Init(true); |
} |
-FX_BOOL CXML_Parser::Init(IFX_SeekableReadStream* pFileRead) { |
+ |
+bool CXML_Parser::Init(IFX_SeekableReadStream* pFileRead) { |
m_pDataAcc = new CXML_DataStmAcc(pFileRead); |
- return Init(TRUE); |
+ return Init(true); |
} |
-FX_BOOL CXML_Parser::Init(IFX_BufferRead* pBuffer) { |
- if (!pBuffer) { |
- return FALSE; |
- } |
+ |
+bool CXML_Parser::Init(IFX_BufferRead* pBuffer) { |
+ if (!pBuffer) |
+ return false; |
+ |
m_pDataAcc = pBuffer; |
- return Init(FALSE); |
+ return Init(false); |
} |
-FX_BOOL CXML_Parser::Init(FX_BOOL bOwndedStream) { |
+ |
+bool CXML_Parser::Init(bool bOwndedStream) { |
m_bOwnedStream = bOwndedStream; |
m_nOffset = 0; |
return ReadNextBlock(); |
} |
-FX_BOOL CXML_Parser::ReadNextBlock() { |
- if (!m_pDataAcc->ReadNextBlock()) { |
- return FALSE; |
- } |
+ |
+bool CXML_Parser::ReadNextBlock() { |
+ if (!m_pDataAcc->ReadNextBlock()) |
+ return false; |
+ |
m_pBuffer = m_pDataAcc->GetBlockBuffer(); |
m_dwBufferSize = m_pDataAcc->GetBlockSize(); |
m_nBufferOffset = m_pDataAcc->GetBlockOffset(); |
m_dwIndex = 0; |
return m_dwBufferSize > 0; |
} |
-FX_BOOL CXML_Parser::IsEOF() { |
- if (!m_pDataAcc->IsEOF()) { |
- return FALSE; |
- } |
- return m_dwIndex >= m_dwBufferSize; |
-} |
-#define FXCRTM_XML_CHARTYPE_Normal 0x00 |
-#define FXCRTM_XML_CHARTYPE_SpaceChar 0x01 |
-#define FXCRTM_XML_CHARTYPE_Letter 0x02 |
-#define FXCRTM_XML_CHARTYPE_Digital 0x04 |
-#define FXCRTM_XML_CHARTYPE_NameIntro 0x08 |
-#define FXCRTM_XML_CHARTYPE_NameChar 0x10 |
-#define FXCRTM_XML_CHARTYPE_HexDigital 0x20 |
-#define FXCRTM_XML_CHARTYPE_HexLowerLetter 0x40 |
-#define FXCRTM_XML_CHARTYPE_HexUpperLetter 0x60 |
-#define FXCRTM_XML_CHARTYPE_HexChar 0x60 |
-uint8_t g_FXCRT_XML_ByteTypes[256] = { |
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, |
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, |
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, |
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, |
- 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x08, 0x00, |
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x18, |
- 0x00, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, 0x1A, |
- 0x1A, 0x1A, 0x01, 0x01, |
-}; |
-FX_BOOL g_FXCRT_XML_IsWhiteSpace(uint8_t ch) { |
- return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_SpaceChar) != 0; |
-} |
-FX_BOOL g_FXCRT_XML_IsLetter(uint8_t ch) { |
- return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_Letter) != 0; |
-} |
-FX_BOOL g_FXCRT_XML_IsDigital(uint8_t ch) { |
- return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_Digital) != 0; |
-} |
-FX_BOOL g_FXCRT_XML_IsNameIntro(uint8_t ch) { |
- return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameIntro) != 0; |
-} |
-FX_BOOL g_FXCRT_XML_IsNameChar(uint8_t ch) { |
- return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_NameChar) != 0; |
-} |
-FX_BOOL g_FXCRT_XML_IsHexChar(uint8_t ch) { |
- return (g_FXCRT_XML_ByteTypes[ch] & FXCRTM_XML_CHARTYPE_HexChar) != 0; |
+ |
+bool CXML_Parser::IsEOF() { |
+ return m_pDataAcc->IsEOF() && m_dwIndex >= m_dwBufferSize; |
} |
+ |
void CXML_Parser::SkipWhiteSpaces() { |
m_nOffset = m_nBufferOffset + (FX_FILESIZE)m_dwIndex; |
if (IsEOF()) { |