Added a workaround to the Collada parser to handle certain XML tags which irrxml doesn't handle well. Corrected formatting on the way.
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@842 67173fc5-114c-0410-ac8e-9d2fd5bffc1fpull/1/head
parent
fba2f78e06
commit
ec6ef9f145
|
@ -2633,7 +2633,11 @@ void ColladaParser::TestOpening( const char* pName)
|
||||||
// Tests for the closing tag of the given element, throws an exception if not found
|
// Tests for the closing tag of the given element, throws an exception if not found
|
||||||
void ColladaParser::TestClosing( const char* pName)
|
void ColladaParser::TestClosing( const char* pName)
|
||||||
{
|
{
|
||||||
// read closing tag
|
// check if we're already on the closing tag and return right away
|
||||||
|
if( mReader->getNodeType() == irr::io::EXN_ELEMENT_END && strcmp( mReader->getNodeName(), pName) == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// if not, read some more
|
||||||
if( !mReader->read())
|
if( !mReader->read())
|
||||||
ThrowException( boost::str( boost::format( "Unexpected end of file while reading end of \"%s\" element.") % pName));
|
ThrowException( boost::str( boost::format( "Unexpected end of file while reading end of \"%s\" element.") % pName));
|
||||||
// whitespace in front is ok, just read again if found
|
// whitespace in front is ok, just read again if found
|
||||||
|
@ -2641,6 +2645,7 @@ void ColladaParser::TestClosing( const char* pName)
|
||||||
if( !mReader->read())
|
if( !mReader->read())
|
||||||
ThrowException( boost::str( boost::format( "Unexpected end of file while reading end of \"%s\" element.") % pName));
|
ThrowException( boost::str( boost::format( "Unexpected end of file while reading end of \"%s\" element.") % pName));
|
||||||
|
|
||||||
|
// but this has the be the closing tag, or we're lost
|
||||||
if( mReader->getNodeType() != irr::io::EXN_ELEMENT_END || strcmp( mReader->getNodeName(), pName) != 0)
|
if( mReader->getNodeType() != irr::io::EXN_ELEMENT_END || strcmp( mReader->getNodeName(), pName) != 0)
|
||||||
ThrowException( boost::str( boost::format( "Expected end of \"%s\" element.") % pName));
|
ThrowException( boost::str( boost::format( "Expected end of \"%s\" element.") % pName));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue