diff --git a/tinyxml2.cpp b/tinyxml2.cpp index 0467d17..f260513 100755 --- a/tinyxml2.cpp +++ b/tinyxml2.cpp @@ -1962,41 +1962,34 @@ XMLAttribute* XMLElement::CreateAttribute() } -XMLElement* XMLElement::PushNewChildElement(const char* name) +XMLElement* XMLElement::InsertNewChildElement(const char* name) { - XMLElement* element = _document->NewElement(name); - // by construction, the new element has the same Document, so this - // call will always succeed - InsertEndChild(element); - return element; + XMLElement* node = _document->NewElement(name); + return InsertEndChild(node) ? node : 0; } -XMLComment* XMLElement::PushNewChildComment(const char* comment) +XMLComment* XMLElement::InsertNewComment(const char* comment) { - XMLComment* element = _document->NewComment(comment); - InsertEndChild(element); - return element; + XMLComment* node = _document->NewComment(comment); + return InsertEndChild(node) ? node : 0; } -XMLText* XMLElement::PushNewChildText(const char* text) +XMLText* XMLElement::InsertNewText(const char* text) { - XMLText* element = _document->NewText(text); - InsertEndChild(element); - return element; + XMLText* node = _document->NewText(text); + return InsertEndChild(node) ? node : 0; } -XMLDeclaration* XMLElement::PushNewChildDeclaration(const char* text) +XMLDeclaration* XMLElement::InsertNewDeclaration(const char* text) { - XMLDeclaration* element = _document->NewDeclaration(text); - InsertEndChild(element); - return element; + XMLDeclaration* node = _document->NewDeclaration(text); + return InsertEndChild(node) ? node : 0; } -XMLUnknown* XMLElement::PushNewUnknown(const char* text) +XMLUnknown* XMLElement::InsertNewUnknown(const char* text) { - XMLUnknown* element = _document->NewUnknown(text); - InsertEndChild(element); - return element; + XMLUnknown* node = _document->NewUnknown(text); + return InsertEndChild(node) ? node : 0; } diff --git a/tinyxml2.h b/tinyxml2.h index 25b59c3..cb8bad5 100755 --- a/tinyxml2.h +++ b/tinyxml2.h @@ -1646,15 +1646,15 @@ public: Convenience method to create a new XMLElement and add it as last (right) child of this node. Returns the created and inserted element. */ - XMLElement* PushNewChildElement(const char* name); - /// See PushNewChildElement() - XMLComment* PushNewChildComment(const char* comment); - /// See PushNewChildElement() - XMLText* PushNewChildText(const char* text); - /// See PushNewChildElement() - XMLDeclaration* PushNewChildDeclaration(const char* text); - /// See PushNewChildElement() - XMLUnknown* PushNewUnknown(const char* text); + XMLElement* InsertNewChildElement(const char* name); + /// See InsertNewChildElement() + XMLComment* InsertNewComment(const char* comment); + /// See InsertNewChildElement() + XMLText* InsertNewText(const char* text); + /// See InsertNewChildElement() + XMLDeclaration* InsertNewDeclaration(const char* text); + /// See InsertNewChildElement() + XMLUnknown* InsertNewUnknown(const char* text); // internal: