From 503c0227622254c0ae3209a1fa72bcb68bb450bc Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Fri, 10 Apr 2020 03:40:48 +0000 Subject: libgd 2.3.0 git-svn-id: svn://tug.org/texlive/trunk@54636 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/gd/libgd-src/src/snprintf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Build/source/libs/gd/libgd-src/src/snprintf.c (limited to 'Build/source/libs/gd/libgd-src/src/snprintf.c') diff --git a/Build/source/libs/gd/libgd-src/src/snprintf.c b/Build/source/libs/gd/libgd-src/src/snprintf.c new file mode 100644 index 00000000000..33d1b42c81d --- /dev/null +++ b/Build/source/libs/gd/libgd-src/src/snprintf.c @@ -0,0 +1,25 @@ +/* Provide a snprintf on Windows for older Visual Studio builds. + * VS2013 and older do not support C99 snprintf(). The subsitute _snprintf() + * does not correctly NUL-terminate buffers in case of overflow. + * This implementation emulates the ISO C99 snprintf() for VS2013 and older. + */ + +#if defined(_MSC_VER) && _MSC_VER < 1900 + +#include +#include + +int snprintf(char* buf, size_t len, const char* fmt, ...) +{ + int n; + va_list ap; + va_start(ap, fmt); + + n = _vscprintf(fmt, ap); + vsnprintf_s(buf, len, _TRUNCATE, fmt, ap); + + va_end(ap); + return n; +} + +#endif -- cgit v1.2.3