diff --git a/engine/client/quakedef.h b/engine/client/quakedef.h index 4eeb8e37d..e1744f912 100644 --- a/engine/client/quakedef.h +++ b/engine/client/quakedef.h @@ -188,7 +188,8 @@ extern "C" { #ifdef _WIN32 #if (_MSC_VER >= 1400) //with MSVC 8, use MS extensions -#define snprintf sprintf_s +#define snprintf linuxlike_snprintf_vc8 +int VARGS linuxlike_snprintf_vc8(char *buffer, int size, const char *format, ...); #define vsnprintf(a, b, c, d) vsnprintf_s(a, b, _TRUNCATE, c, d) #else //msvc crap diff --git a/engine/common/common.c b/engine/common/common.c index 4f3e8c304..c5d7a7a84 100644 --- a/engine/common/common.c +++ b/engine/common/common.c @@ -3112,6 +3112,18 @@ int VARGS linuxlike_vsnprintf(char *buffer, int size, const char *format, va_lis return ret; } +#else +int VARGS linuxlike_snprintf_vc8(char *buffer, int size, const char *format, ...) +{ + int ret; + va_list argptr; + + va_start (argptr, format); + ret = vsnprintf_s (buffer,size, _TRUNCATE, format,argptr); + va_end (argptr); + + return ret; +} #endif #endif