From: Junio C Hamano Date: Fri, 21 Aug 2009 22:11:47 GMT Subject: Re: [PATCH 03/14] Define SNPRINTF_SIZE_CORR=1 for Microsoft Visual C++ Message-ID: <7vfxbkbyvw.fsf@alter.siamese.dyndns.org> In-Reply-To: <200908212341.37531.j6t@kdbg.org> Johannes Sixt writes: > Not quite. The parameter *is* the size of the buffer and vsnprintf does not > write beyond the buffer. However, it has the awkward behavior that if the > buffer is too short by exactly one byte... Thanks; I was fooled by the leading comment. How about ... compat/snprintf.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/compat/snprintf.c b/compat/snprintf.c index 6c0fb05..4d07087 100644 --- a/compat/snprintf.c +++ b/compat/snprintf.c @@ -3,7 +3,8 @@ /* * The size parameter specifies the available space, i.e. includes * the trailing NUL byte; but Windows's vsnprintf expects the - * number of characters to write without the trailing NUL. + * number of characters to write, and does not necessarily write the + * trailing NUL. */ #ifndef SNPRINTF_SIZE_CORR #if defined(__MINGW32__) && defined(__GNUC__) && __GNUC__ < 4