MCPcopy Create free account
hub / github.com/MaxBelkov/visualsyslog / Parse

Method Parse

sourcecommon/tinyxml2.cpp:1799–1825  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1797
1798
1799XMLError XMLDocument::Parse( const char* p, size_t len )
1800{
1801 const char* start = p;
1802 Clear();
1803
1804 if ( len == 0 || !p || !*p ) {
1805 SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );
1806 return _errorID;
1807 }
1808 if ( len == (size_t)(-1) ) {
1809 len = strlen( p );
1810 }
1811 _charBuffer = new char[ len+1 ];
1812 memcpy( _charBuffer, p, len );
1813 _charBuffer[len] = 0;
1814
1815 p = XMLUtil::SkipWhiteSpace( p );
1816 p = XMLUtil::ReadBOM( p, &_writeBOM );
1817 if ( !p || !*p ) {
1818 SetError( XML_ERROR_EMPTY_DOCUMENT, 0, 0 );
1819 return _errorID;
1820 }
1821
1822 ptrdiff_t delta = p - start; // skip initial whitespace, BOM, etc.
1823 ParseDeep( _charBuffer+delta, 0 );
1824 return _errorID;
1825}
1826
1827
1828void XMLDocument::Print( XMLPrinter* streamer ) const

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected