diff --git a/tinyxml2.cpp b/tinyxml2.cpp
index 6115346..c721a61 100644
--- a/tinyxml2.cpp
+++ b/tinyxml2.cpp
@@ -1190,7 +1190,10 @@ int XMLDocument::LoadFile( const char* filename )
DeleteChildren();
InitDocument();
+#pragma warning ( push )
+#pragma warning ( disable : 4996 ) // Fail to see a compelling reason why this should be deprecated.
FILE* fp = fopen( filename, "rb" );
+#pragma warning ( pop )
if ( !fp ) {
SetError( ERROR_FILE_NOT_FOUND, filename, 0 );
return errorID;
@@ -1233,7 +1236,10 @@ int XMLDocument::LoadFile( FILE* fp )
void XMLDocument::SaveFile( const char* filename )
{
+#pragma warning ( push )
+#pragma warning ( disable : 4996 ) // Fail to see a compelling reason why this should be deprecated.
FILE* fp = fopen( filename, "w" );
+#pragma warning ( pop )
XMLPrinter stream( fp );
Print( &stream );
fclose( fp );
@@ -1286,16 +1292,17 @@ void XMLDocument::SetError( int error, const char* str1, const char* str2 )
void XMLDocument::PrintError() const
{
if ( errorID ) {
- char buf1[20] = { 0 };
- char buf2[20] = { 0 };
+ static const int LEN = 20;
+ char buf1[LEN] = { 0 };
+ char buf2[LEN] = { 0 };
if ( errorStr1 ) {
- strncpy( buf1, errorStr1, 20 );
- buf1[19] = 0;
+ TIXML_SNPRINTF( buf1, LEN, "%s", errorStr1 );
+ buf1[LEN-1] = 0;
}
if ( errorStr2 ) {
- strncpy( buf2, errorStr2, 20 );
- buf2[19] = 0;
+ TIXML_SNPRINTF( buf2, LEN, "%s", errorStr2 );
+ buf2[LEN-1] = 0;
}
printf( "XMLDocument error id=%d str1=%s str2=%s\n",
diff --git a/tinyxml2/tinyxml2.vcxproj b/tinyxml2/tinyxml2.vcxproj
index f4d20a2..89eef04 100644
--- a/tinyxml2/tinyxml2.vcxproj
+++ b/tinyxml2/tinyxml2.vcxproj
@@ -49,7 +49,7 @@
Level4
Disabled
- _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
Console
diff --git a/xmltest.cpp b/xmltest.cpp
index cda1c43..9f61a6b 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -301,8 +301,12 @@ int main( int /*argc*/, const char* /*argv*/ )
char verifyBuf[256];
int okay = 0;
+
+#pragma warning ( push )
+#pragma warning ( disable : 4996 ) // Fail to see a compelling reason why this should be deprecated.
FILE* saved = fopen( "utf8testout.xml", "r" );
FILE* verify = fopen( "utf8testverify.xml", "r" );
+#pragma warning ( pop )
if ( saved && verify )
{
@@ -415,14 +419,20 @@ int main( int /*argc*/, const char* /*argv*/ )
XMLTest( "Entity transformation: read. ", expected, context, true );
+#pragma warning ( push )
+#pragma warning ( disable : 4996 ) // Fail to see a compelling reason why this should be deprecated.
FILE* textfile = fopen( "textfile.txt", "w" );
+#pragma warning ( pop )
if ( textfile )
{
XMLPrinter streamer( textfile );
psg->Accept( &streamer );
fclose( textfile );
}
+#pragma warning ( push )
+#pragma warning ( disable : 4996 ) // Fail to see a compelling reason why this should be deprecated.
textfile = fopen( "textfile.txt", "r" );
+#pragma warning ( pop )
TIXMLASSERT( textfile );
if ( textfile )
{