Index: include/lldb/Host/windows/win32.h =================================================================== --- include/lldb/Host/windows/win32.h +++ include/lldb/Host/windows/win32.h @@ -52,7 +52,7 @@ #ifdef LLDB_DISABLE_PYTHON typedef uint32_t pid_t; -#endif +#endif // LLDB_DISABLE_PYTHON int usleep(uint32_t useconds); @@ -63,6 +63,7 @@ int strcasecmp(const char* s1, const char* s2); int strncasecmp(const char* s1, const char* s2, size_t n); +int snprintf(char *buffer, size_t count, const char *format, ...); #define STDIN_FILENO 0 #define STDOUT_FILENO 1 @@ -73,8 +74,7 @@ #define S_IFDIR _S_IFDIR #define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) -#define snprintf _snprintf -#endif +#endif // _MSC_VER // timespec struct timespec Index: source/Host/windows/Windows.cpp =================================================================== --- source/Host/windows/Windows.cpp +++ source/Host/windows/Windows.cpp @@ -202,4 +202,19 @@ return 0; } +int snprintf(char *buffer, size_t count, const char *format, ...) +{ + va_list argptr; + va_start(argptr, format); + int r = _vsnprintf(buffer, count, format, argptr); + if (r < 0 && !errno) + { + FILE *nul = fopen("nul", "w"); + r = vfprintf(nul, format, argptr); + fclose(nul); + } + va_end(argptr); + return r; +} + #endif // _MSC_VER