diff options
Diffstat (limited to 'source/blender/blenlib/intern/string.c')
-rw-r--r-- | source/blender/blenlib/intern/string.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/blenlib/intern/string.c b/source/blender/blenlib/intern/string.c index 7a750a74a33..8501db7c8b8 100644 --- a/source/blender/blenlib/intern/string.c +++ b/source/blender/blenlib/intern/string.c @@ -78,22 +78,31 @@ char *BLI_strncpy(char *dst, const char *src, const size_t maxncpy) return dst; } -size_t BLI_snprintf(char *buffer, size_t count, const char *format, ...) +size_t BLI_vsnprintf(char *buffer, size_t count, const char *format, va_list arg) { size_t n; - va_list arg; - va_start(arg, format); n = vsnprintf(buffer, count, format, arg); - + if (n != -1 && n < count) { buffer[n] = '\0'; } else { buffer[count - 1] = '\0'; } - + + return n; +} + +size_t BLI_snprintf(char *buffer, size_t count, const char *format, ...) +{ + size_t n; + va_list arg; + + va_start(arg, format); + n = BLI_vsnprintf(buffer, count, format, arg); va_end(arg); + return n; } |