Loading...
Searching...
No Matches
Go to the documentation of this file.
8#ifndef WIN32_SNPRINTF_H
9#define WIN32_SNPRINTF_H
23 (defined(_MSC_VER) && _MSC_VER < 1900) || \
24 (defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR) && defined(__NO_ISOCEXT)) || \
25 (defined(__MINGW64_VERSION_MAJOR) && !( \
26 (defined (__USE_MINGW_ANSI_STDIO) && __USE_MINGW_ANSI_STDIO != 0)) || \
27 (__MINGW64_VERSION_MAJOR >= 6 && defined(_UCRT)) || \
28 (__MINGW64_VERSION_MAJOR >= 8 && !defined(__NO_ISOCEXT)) || \
38 (defined(_MSC_VER) && _MSC_VER < 1300) || \
39 (defined(__MSVCRT_VERSION__) && __MSVCRT_VERSION__ < 0x700) || \
41#define CHECK_SCPRINTF 0
42#define IF_SCPRINTF(expr) 0
43#define ELSE_SCPRINTF(expr) expr
45#define CHECK_SCPRINTF 1
46#define IF_SCPRINTF(expr) expr
47#define ELSE_SCPRINTF(expr) 0
51#define snprintf(buf, size, fmt, ...) ( \
52 (((size) != 0 && (buf) != NULL) ? ( \
53 _snprintf((buf), (size), (fmt), __VA_ARGS__), \
54 (((char *)buf)[(size_t)(size)-1] = 0), \
56 (CHECK_SCPRINTF ? IF_SCPRINTF( \
57 _scprintf((fmt), __VA_ARGS__) \
59 ((size) != 0 && (buf) != NULL) ? \