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

This commit is contained in:
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)
{
if (str >= last) return 0;
size_t size = last - str + 1;
return min((int)size, vsnprintf(str, size, format, ap));
ptrdiff_t diff = last - str;
if (diff < 0) return 0;
return min((int)diff, vsnprintf(str, diff + 1, format, ap));
}
void ttd_strlcat(char *dst, const char *src, size_t size)