1 #include "../git-compat-util.h"
4 * The size parameter specifies the available space, i.e. includes
5 * the trailing NUL byte; but Windows's vsnprintf expects the
6 * number of characters to write without the trailing NUL.
8 #ifndef SNPRINTF_SIZE_CORR
9 #define SNPRINTF_SIZE_CORR 0
13 int git_vsnprintf(char *str
, size_t maxsize
, const char *format
, va_list ap
)
18 ret
= vsnprintf(str
, maxsize
-SNPRINTF_SIZE_CORR
, format
, ap
);
20 /* Windows does not NUL-terminate if result fits exactly */
31 str
= realloc(s
, maxsize
);
35 ret
= vsnprintf(str
, maxsize
-SNPRINTF_SIZE_CORR
, format
, ap
);
41 int git_snprintf(char *str
, size_t maxsize
, const char *format
, ...)
47 ret
= git_vsnprintf(str
, maxsize
, format
, ap
);