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;