Made SaveFile symmetrical with LoadFile
Added overload taking a FILE pointer
Return error code (if any) instead of void
diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index f6998ea..4ce9b32 100644
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1407,7 +1407,7 @@
 }

 

 

-void XMLDocument::SaveFile( const char* filename )

+int XMLDocument::SaveFile( const char* filename )

 {

 #if defined(_MSC_VER)

 #pragma warning ( push )

@@ -1417,14 +1417,21 @@
 #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;

 }