mirror of https://github.com/AxioDL/tinyxml2.git
Made SaveFile symmetrical with LoadFile
Added overload taking a FILE pointer Return error code (if any) instead of void
This commit is contained in:
parent
8712757389
commit
81da1fb26b
21
tinyxml2.cpp
21
tinyxml2.cpp
|
@ -1407,7 +1407,7 @@ int XMLDocument::LoadFile( FILE* fp )
|
|||
}
|
||||
|
||||
|
||||
void XMLDocument::SaveFile( const char* filename )
|
||||
int XMLDocument::SaveFile( const char* filename )
|
||||
{
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning ( push )
|
||||
|
@ -1417,14 +1417,21 @@ void XMLDocument::SaveFile( const char* filename )
|
|||
#if defined(_MSC_VER)
|
||||
#pragma warning ( pop )
|
||||
#endif
|
||||
if ( fp ) {
|
||||
XMLPrinter stream( fp );
|
||||
Print( &stream );
|
||||
fclose( fp );
|
||||
}
|
||||
else {
|
||||
if ( !fp ) {
|
||||
SetError( XML_ERROR_FILE_COULD_NOT_BE_OPENED, filename, 0 );
|
||||
return errorID;
|
||||
}
|
||||
SaveFile(fp);
|
||||
fclose( fp );
|
||||
return errorID;
|
||||
}
|
||||
|
||||
|
||||
int XMLDocument::SaveFile( FILE* fp )
|
||||
{
|
||||
XMLPrinter stream( fp );
|
||||
Print( &stream );
|
||||
return errorID;
|
||||
}
|
||||
|
||||
|
||||
|
|
12
tinyxml2.h
12
tinyxml2.h
|
@ -1024,8 +1024,18 @@ public:
|
|||
int LoadFile( FILE* );
|
||||
/**
|
||||
Save the XML file to disk.
|
||||
Returns XML_NO_ERROR (0) on success, or
|
||||
an errorID.
|
||||
*/
|
||||
void SaveFile( const char* filename );
|
||||
int SaveFile( const char* filename );
|
||||
/**
|
||||
Save the XML file to disk. You are responsible
|
||||
for providing and closing the FILE*.
|
||||
|
||||
Returns XML_NO_ERROR (0) on success, or
|
||||
an errorID.
|
||||
*/
|
||||
int SaveFile( FILE* );
|
||||
|
||||
bool ProcessEntities() const { return processEntities; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue