1
0
Fork 0

(svn r19148) -Fix [FS#3627]: [v]seprintf should return the number of added characters excluding '\0' on truncation (adf88)

release/1.1
rubidium 2010-02-17 13:55:08 +00:00
parent fa6942a4fa
commit 1b0e78c588
1 changed files with 3 additions and 3 deletions

View File

@ -32,9 +32,9 @@
*/ */
static int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) static int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap)
{ {
if (str >= last) return 0; ptrdiff_t diff = last - str;
size_t size = last - str + 1; if (diff < 0) return 0;
return min((int)size, vsnprintf(str, size, format, ap)); return min((int)diff, vsnprintf(str, diff + 1, format, ap));
} }
void ttd_strlcat(char *dst, const char *src, size_t size) void ttd_strlcat(char *dst, const char *src, size_t size)