From 76bcaba6011b4a3a3f2c3dcd65e3438bb46b79f0 Mon Sep 17 00:00:00 2001 From: truelight Date: Thu, 24 Aug 2006 12:08:25 +0000 Subject: (svn r6089) -Backport r6088: added -s (source) and -d (destination) to strgen (Darkvater) --- string.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'string.c') diff --git a/string.c b/string.c index bbf8627d3..a0e6b42a6 100644 --- a/string.c +++ b/string.c @@ -52,7 +52,7 @@ char* CDECL str_fmt(const char* str, ...) char* p; va_start(va, str); - len = vsprintf(buf, str, va); + len = vsnprintf(buf, lengthof(buf), str, va); va_end(va); p = malloc(len + 1); if (p != NULL) memcpy(p, buf, len + 1); @@ -101,3 +101,27 @@ void strtolower(char *str) { for (; *str != '\0'; str++) *str = tolower(*str); } + +#ifdef WIN32 +int CDECL snprintf(char *str, size_t size, const char *format, ...) +{ + va_list ap; + int ret; + + va_start(ap, format); + ret = vsnprintf(str, size, format, ap); + va_end(ap); + return ret; +} + +#ifdef _MSC_VER +int CDECL vsnprintf(char *str, size_t size, const char *format, va_list ap) +{ + int ret; + ret = _vsnprintf(str, size, format, ap); + if (ret < 0) str[size - 1] = '\0'; + return ret; +} +#endif /* _MSC_VER */ + +#endif /* WIN32 */ -- cgit v1.2.3-54-g00ecf