Move the check into dependent call

This commit is contained in:
Dmitry-Me 2014-12-23 17:57:05 +03:00
parent eaddfd8768
commit a092bc1f5a
2 changed files with 10 additions and 17 deletions

View File

@ -2069,9 +2069,7 @@ void XMLPrinter::PushHeader( bool writeBOM, bool writeDec )
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::CloseElement( bool compactMode )
}
void XMLPrinter::SealElement()
void XMLPrinter::SealElementIfJustOpened()
{
if ( !_elementJustOpened ) {
return;
}
_elementJustOpened = false;
Print( ">" );
}
@ -2166,9 +2167,7 @@ void XMLPrinter::PushText( const char* text, bool cdata )
{
_textDepth = _depth-1;
if ( _elementJustOpened ) {
SealElement();
}
SealElementIfJustOpened();
if ( cdata ) {
Print( "<![CDATA[" );
Print( "%s", text );
@ -2221,9 +2220,7 @@ void XMLPrinter::PushText( double value )
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::PushComment( const char* comment )
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::PushDeclaration( const char* value )
void XMLPrinter::PushUnknown( const char* value )
{
if ( _elementJustOpened ) {
SealElement();
}
SealElementIfJustOpened();
if ( _textDepth < 0 && !_firstElement && !_compactMode) {
Print( "\n" );
PrintSpace( _depth );

View File

@ -2068,7 +2068,7 @@ protected:
virtual void PrintSpace( int depth );
void Print( const char* format, ... );
void SealElement();
void SealElementIfJustOpened();
bool _elementJustOpened;
DynArray< const char*, 10 > _stack;