diff --git a/engine/qclib/qcc_cmdlib.c b/engine/qclib/qcc_cmdlib.c index 8c1fd8802..b3c4b6b84 100644 --- a/engine/qclib/qcc_cmdlib.c +++ b/engine/qclib/qcc_cmdlib.c @@ -10,6 +10,16 @@ extern jmp_buf qcccompileerror; #endif +#ifdef _WIN64 + #ifdef _SDL + #define snprintf linuxlike_snprintf + int VARGS linuxlike_snprintf(char *buffer, int size, const char *format, ...) LIKEPRINTF(3); + #define vsnprintf linuxlike_vsnprintf + int VARGS linuxlike_vsnprintf(char *buffer, int size, const char *format, va_list argptr); + void *__imp__vsnprintf = vsnprintf; + #endif +#endif + // set these before calling CheckParm int myargc; char **myargv; diff --git a/engine/qclib/qcc_pr_lex.c b/engine/qclib/qcc_pr_lex.c index dd4d321fe..2579d9e94 100644 --- a/engine/qclib/qcc_pr_lex.c +++ b/engine/qclib/qcc_pr_lex.c @@ -6,15 +6,14 @@ #endif #include "time.h" -// Win64 + SDL = undfined reference to vsnprintf #ifdef _WIN64 -#ifdef SDL_MAJOR_VERSION - //msvc crap - #define snprintf linuxlike_snprintf - int VARGS linuxlike_snprintf(char *buffer, int size, const char *format, ...) LIKEPRINTF(3); - #define vsnprintf linuxlike_vsnprintf - int VARGS linuxlike_vsnprintf(char *buffer, int size, const char *format, va_list argptr); -#endif + #ifdef _SDL + #define snprintf linuxlike_snprintf + int VARGS linuxlike_snprintf(char *buffer, int size, const char *format, ...) LIKEPRINTF(3); + #define vsnprintf linuxlike_vsnprintf + int VARGS linuxlike_vsnprintf(char *buffer, int size, const char *format, va_list argptr); + //void *__imp__vsnprintf = vsnprintf; + #endif #endif #define MEMBERFIELDNAME "__m%s"