Increase portability. (Submission from Nikita Kindt, as were some recent related submissions.)


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28444 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index b0bee97..c14e12a 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -868,7 +868,7 @@
            );
 }
 
-#ifndef _WIN32
+#if !defined _MSC_VER && !defined MINGW_HAS_SECURE_API
 
 #include <errno.h>
 
@@ -903,12 +903,7 @@
 char** ReadFileData(const char* fileName) 
 {
     FILE *in;
-    #if defined(_WIN32) && defined(__GNUC__)
-        in = fopen(fileName, "r");
-        int errorCode = in ? 0 : 1;
-    #else
-        int errorCode = fopen_s(&in, fileName, "r");
-    #endif
+    int errorCode = fopen_s(&in, fileName, "r");
 
     char *fdata;
     int count = 0;
diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index 07ee9fb..b5d7774 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -37,7 +37,7 @@
 #ifndef _COMMON_INCLUDED_
 #define _COMMON_INCLUDED_
 
-#if defined _WIN32 && !defined __GNUC__
+#if defined _MSC_VER || defined MINGW_HAS_SECURE_API
     #include <basetsd.h>
     #define snprintf sprintf_s
     #define safe_vsprintf(buf,max,format,args) vsnprintf_s((buf), (max), (max), (format), (args))
@@ -166,11 +166,11 @@
 {
     char text[16];     // 32 bit ints are at most 10 digits in base 10
     
-    #if defined _WIN32 && !defined __GNUC__
-        _itoa_s(i, text, base);
+    #if defined _MSC_VER || defined MINGW_HAS_SECURE_API
+        _itoa_s(i, text, sizeof(text), base);
     #else
         // we assume base 10 for all cases
-        sprintf(text, "%d", i);
+        snprintf(text, sizeof(text), "%d", i);
     #endif
 
     return text;