Move the check into dependent call
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index f6e2584..cd0ae7e 100755
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -2069,9 +2069,7 @@
void XMLPrinter::OpenElement( const char* name, bool compactMode )
{
- if ( _elementJustOpened ) {
- SealElement();
- }
+ SealElementIfJustOpened();
_stack.Push( name );
if ( _textDepth < 0 && !_firstElement && !compactMode ) {
@@ -2155,8 +2153,11 @@
}
-void XMLPrinter::SealElement()
+void XMLPrinter::SealElementIfJustOpened()
{
+ if ( !_elementJustOpened ) {
+ return;
+ }
_elementJustOpened = false;
Print( ">" );
}
@@ -2166,9 +2167,7 @@
{
_textDepth = _depth-1;
- if ( _elementJustOpened ) {
- SealElement();
- }
+ SealElementIfJustOpened();
if ( cdata ) {
Print( "<![CDATA[" );
Print( "%s", text );
@@ -2221,9 +2220,7 @@
void XMLPrinter::PushComment( const char* comment )
{
- if ( _elementJustOpened ) {
- SealElement();
- }
+ SealElementIfJustOpened();
if ( _textDepth < 0 && !_firstElement && !_compactMode) {
Print( "\n" );
PrintSpace( _depth );
@@ -2235,9 +2232,7 @@
void XMLPrinter::PushDeclaration( const char* value )
{
- if ( _elementJustOpened ) {
- SealElement();
- }
+ SealElementIfJustOpened();
if ( _textDepth < 0 && !_firstElement && !_compactMode) {
Print( "\n" );
PrintSpace( _depth );
@@ -2249,9 +2244,7 @@
void XMLPrinter::PushUnknown( const char* value )
{
- if ( _elementJustOpened ) {
- SealElement();
- }
+ SealElementIfJustOpened();
if ( _textDepth < 0 && !_firstElement && !_compactMode) {
Print( "\n" );
PrintSpace( _depth );