mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-13 17:49:10 +00:00
(svn r19148) -Fix [FS#3627]: [v]seprintf should return the number of added characters excluding '\0' on truncation (adf88)
This commit is contained in:
@@ -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)
|
||||||
|
Reference in New Issue
Block a user