diff options
author | truelight <truelight@openttd.org> | 2006-08-24 12:08:25 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2006-08-24 12:08:25 +0000 |
commit | 76bcaba6011b4a3a3f2c3dcd65e3438bb46b79f0 (patch) | |
tree | 90e4385ba5c5f0ec5803661e46a5dbdf086057c6 /string.c | |
parent | d14ac4478d35f7ae9b7ced6e78673a27a85fc878 (diff) | |
download | openttd-76bcaba6011b4a3a3f2c3dcd65e3438bb46b79f0.tar.xz |
(svn r6089) -Backport r6088: added -s (source) and -d (destination) to strgen (Darkvater)
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -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 */ |