Bug#38392: glibc-doc: documentation of snprintf return value is deceptive
>>>>> Ben Pfaff writes:
Ben> Package: glibc-doc
Ben> Version: 2.1.1-5
Ben> The glibc 2.1 documentation says that snprintf returns the number of
Ben> characters that would have been written to the buffer, regardless of
Ben> whether the buffer was actually big enough to hold that number of
Ben> It does not mention that in glibc 2.0 (and earlier?), if the buffer
Ben> wasn't large enough to hold the format output, it would return -1
Ben> instead of the number of characters that would have been written.
Ben> This is deceptive, because it leads the reader to believe that he can
Ben> depend on the return value for the size of a buffer to allocate, which
Ben> is not true if you want to be glibc 2.0 or earlier compatible.
This changed between glibc 2.0 and 2.1 because ISO C 9x requires this:
1997-03-08 05:30 Ulrich Drepper <email@example.com>
* libio/vsnprintf.c: Change implementation to follow ISO C 9X
proposal. The return value now is always the number of characters
which would be written if enough space is available.
* manual/stdio.texi: Update description for new behaviour.
Andreas Jaeger firstname.lastname@example.org email@example.com
for pgp-key finger firstname.lastname@example.org