Test on gcc. Fix warning. Fix uneeded params. Up VS debug to level 4 and fix warnings.
This commit is contained in:
24
tinyxml2.cpp
24
tinyxml2.cpp
@@ -27,10 +27,9 @@ distribution.
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <new.h>
|
||||
#include <new>
|
||||
#include <stdarg.h>
|
||||
|
||||
//#pragma warning ( disable : 4291 )
|
||||
|
||||
using namespace tinyxml2;
|
||||
|
||||
@@ -403,8 +402,11 @@ char* XMLDocument::Identify( char* p, XMLNode** node )
|
||||
static const int cdataHeaderLen = 9;
|
||||
static const int elementHeaderLen = 1;
|
||||
|
||||
#pragma warning ( push )
|
||||
#pragma warning ( disable : 4127 )
|
||||
TIXMLASSERT( sizeof( XMLComment ) == sizeof( XMLUnknown ) ); // use same memory pool
|
||||
TIXMLASSERT( sizeof( XMLComment ) == sizeof( XMLDeclaration ) ); // use same memory pool
|
||||
#pragma warning (pop)
|
||||
|
||||
if ( XMLUtil::StringEqual( p, xmlHeader, xmlHeaderLen ) ) {
|
||||
returnNode = new (commentPool.Alloc()) XMLDeclaration( this );
|
||||
@@ -985,7 +987,7 @@ XMLAttribute* XMLElement::FindOrCreateAttribute( const char* name )
|
||||
{
|
||||
XMLAttribute* attrib = FindAttribute( name );
|
||||
if ( !attrib ) {
|
||||
attrib = new (document->attributePool.Alloc() ) XMLAttribute( this );
|
||||
attrib = new (document->attributePool.Alloc() ) XMLAttribute();
|
||||
attrib->memPool = &document->attributePool;
|
||||
LinkAttribute( attrib );
|
||||
attrib->SetName( name );
|
||||
@@ -1041,7 +1043,7 @@ char* XMLElement::ParseAttributes( char* p )
|
||||
|
||||
// attribute.
|
||||
if ( XMLUtil::IsAlpha( *p ) ) {
|
||||
XMLAttribute* attrib = new (document->attributePool.Alloc() ) XMLAttribute( this );
|
||||
XMLAttribute* attrib = new (document->attributePool.Alloc() ) XMLAttribute();
|
||||
attrib->memPool = &document->attributePool;
|
||||
|
||||
p = attrib->ParseDeep( p );
|
||||
@@ -1080,7 +1082,6 @@ char* XMLElement::ParseDeep( char* p, StrPair* strPair )
|
||||
// Read the element name.
|
||||
p = XMLUtil::SkipWhiteSpace( p );
|
||||
if ( !p ) return 0;
|
||||
const char* start = p;
|
||||
|
||||
// The closing element is the </element> form. It is
|
||||
// parsed just like a regular element then deleted from
|
||||
@@ -1093,7 +1094,6 @@ char* XMLElement::ParseDeep( char* p, StrPair* strPair )
|
||||
p = value.ParseName( p );
|
||||
if ( value.Empty() ) return 0;
|
||||
|
||||
bool elementClosed=false;
|
||||
p = ParseAttributes( p );
|
||||
if ( !p || !*p || closingType )
|
||||
return p;
|
||||
@@ -1318,12 +1318,12 @@ XMLPrinter::XMLPrinter( FILE* file ) :
|
||||
for( int i=0; i<NUM_ENTITIES; ++i ) {
|
||||
TIXMLASSERT( entities[i].value < ENTITY_RANGE );
|
||||
if ( entities[i].value < ENTITY_RANGE ) {
|
||||
entityFlag[ entities[i].value ] = true;
|
||||
entityFlag[ (int)entities[i].value ] = true;
|
||||
}
|
||||
}
|
||||
restrictedEntityFlag['&'] = true;
|
||||
restrictedEntityFlag['<'] = true;
|
||||
restrictedEntityFlag['>'] = true; // not required, but consistency is nice
|
||||
restrictedEntityFlag[(int)'&'] = true;
|
||||
restrictedEntityFlag[(int)'<'] = true;
|
||||
restrictedEntityFlag[(int)'>'] = true; // not required, but consistency is nice
|
||||
buffer.Push( 0 );
|
||||
}
|
||||
|
||||
@@ -1354,7 +1354,7 @@ void XMLPrinter::Print( const char* format, ... )
|
||||
#else
|
||||
int len = vsnprintf( 0, 0, format, va );
|
||||
char* p = buffer.PushArr( len ) - 1;
|
||||
vsprintf_s( p, len+1, format, va );
|
||||
vsnprintf( p, len+1, format, va );
|
||||
#endif
|
||||
}
|
||||
va_end( va );
|
||||
@@ -1556,7 +1556,7 @@ bool XMLPrinter::VisitEnter( const XMLElement& element, const XMLAttribute* attr
|
||||
}
|
||||
|
||||
|
||||
bool XMLPrinter::VisitExit( const XMLElement& element )
|
||||
bool XMLPrinter::VisitExit( const XMLElement& )
|
||||
{
|
||||
CloseElement();
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user