فهرست منبع

fix deprecation function mess

Lee Thomason (grinliz) 14 سال پیش
والد
کامیت
5ce4d97945
3فایلهای تغییر یافته به همراه24 افزوده شده و 7 حذف شده
  1. 13 6
      tinyxml2.cpp
  2. 1 1
      tinyxml2/tinyxml2.vcxproj
  3. 10 0
      xmltest.cpp

+ 13 - 6
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",

+ 1 - 1
tinyxml2/tinyxml2.vcxproj

@@ -49,7 +49,7 @@
       </PrecompiledHeader>
       <WarningLevel>Level4</WarningLevel>
       <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>

+ 10 - 0
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 )
 		{