mirror of https://github.com/AxioDL/tinyxml2.git
To bring BoolFirstChild() more in line with the other methods, reimplemented it in terms of a new QueryBoolFirstChild().
This commit is contained in:
parent
4af5573f42
commit
ff8e2041dd
22
tinyxml2.cpp
22
tinyxml2.cpp
|
@ -1336,13 +1336,25 @@ void XMLElement::SetBoolFirstChild( bool inBool )
|
|||
}
|
||||
|
||||
|
||||
bool XMLElement::BoolFirstChild()
|
||||
XMLError XMLElement::QueryBoolFirstChild( bool *outBool )
|
||||
{
|
||||
if ( FirstChild() && FirstChild()->ToElement() ) {
|
||||
return strcmp( FirstChild()->Value(), "true" ) == 0;
|
||||
}
|
||||
if ( FirstChild() )
|
||||
{
|
||||
if ( FirstChild()->ToElement() )
|
||||
{
|
||||
bool isTrue = strcmp( FirstChild()->Value(), "true" ) == 0;
|
||||
bool isFalse = strcmp( FirstChild()->Value(), "false" ) == 0;
|
||||
if( !isTrue && !isFalse )
|
||||
return XML_CAN_NOT_CONVERT_TEXT;
|
||||
|
||||
return false;
|
||||
*outBool = isTrue;
|
||||
return XML_SUCCESS;
|
||||
}
|
||||
else
|
||||
return XML_NO_ELEMENT_NODE;
|
||||
}
|
||||
else
|
||||
return XML_NO_ELEMENT_NODE;
|
||||
}
|
||||
|
||||
|
||||
|
|
15
tinyxml2.h
15
tinyxml2.h
|
@ -1014,7 +1014,8 @@ enum XMLError {
|
|||
XML_ERROR_PARSING,
|
||||
|
||||
XML_CAN_NOT_CONVERT_TEXT,
|
||||
XML_NO_TEXT_NODE
|
||||
XML_NO_TEXT_NODE,
|
||||
XML_NO_ELEMENT_NODE
|
||||
};
|
||||
|
||||
|
||||
|
@ -1419,9 +1420,17 @@ public:
|
|||
|
||||
|
||||
/// Adds a sub-element equivalent to the given boolean.
|
||||
void SetBoolFirstChild( bool inBool );
|
||||
void SetBoolFirstChild( bool inBool );
|
||||
|
||||
bool BoolFirstChild();
|
||||
/// Looks for a <true /> or <false /> as the first child and returns the corresponding bool.
|
||||
bool BoolFirstChild()
|
||||
{
|
||||
bool b = false;
|
||||
QueryBoolFirstChild(&b);
|
||||
return b;
|
||||
}
|
||||
|
||||
XMLError QueryBoolFirstChild( bool *outBool );
|
||||
|
||||
/**
|
||||
Convenience method to query the value of a child text node. This is probably best
|
||||
|
|
Loading…
Reference in New Issue