> From: Martin Dorey <martin.do...@hitachivantara.com>
> CC: "bug-make@gnu.org" <bug-make@gnu.org>
> Date: Mon, 5 Aug 2024 23:13:47 +0000
> 
> "Beginning with the UCRT in Visual Studio 2015 and Windows 10, snprintf is no 
> longer identical to _snprintf. The snprintf behavior is now C99 standard 
> conformant. The difference is that if you run out of buffer, snprintf 
> null-terminates the end of the buffer and returns the number of characters 
> that would have been required whereas _snprintf doesn't null-terminate the 
> buffer and returns -1. Also, snprintf() includes one more character in the 
> output because it doesn't null-terminate the buffer."

This is only relevant to a build using MSVC, the Microsoft compiler.
(Yes, GNU Make does support it.)  If, OTOH, you use the MinGW tools,
then an ANSI-compatible implementation of snprintf is available there
(as part of an auxiliary library that is always submitted to the
linker) for much longer, and is the default for a very long time.

Reply via email to