KWIML 2022-06-14 (7b9bd7fe)

Code extracted from:

    https://gitlab.kitware.com/utils/kwiml.git

at commit 7b9bd7fe925396d06d3d9540b4863d6d2382661d (master).

Upstream Shortlog
-----------------

Brad King (2):
      33c2acf1 test: Replace sprintf with snprintf
      7b9bd7fe test: Avoid snprintf on MSVC before VS 2015
This commit is contained in:
KWIML Upstream
2022-06-14 09:33:12 -04:00
committed by Brad King
parent f171b651b4
commit 2a233bb754

View File

@@ -24,6 +24,12 @@
# define STATIC_CAST(t,v) (t)(v)
#endif
#if defined(_MSC_VER) && _MSC_VER < 1900
# define SNPRINTF(buf, sz, fmt, x) sprintf(buf, fmt, x)
#else
# define SNPRINTF(buf, sz, fmt, x) snprintf(buf, sz, fmt, x)
#endif
#define VALUE(T, U) STATIC_CAST(T, STATIC_CAST(U, 0xab) << ((sizeof(T)-1)<<3))
#define TEST_C_(C, V, PRI, T, U) \
@@ -48,7 +54,7 @@
{ \
T const x = VALUE(T, U); \
char const* str = STR; \
sprintf(buf, "%" KWIML_INT_PRI##PRI, x); \
SNPRINTF(buf, sizeof(buf), "%" KWIML_INT_PRI##PRI, x); \
printf(LANG "KWIML_INT_PRI" #PRI ":" \
" expected [%s], got [%s]", str, buf); \
if(strcmp(str, buf) == 0) \