remove INT_MAX limit on the n argument to snprintf/swprintf
commit11fb383275d20f5f94c00425bd888a02ecbd218e
authorRich Felker <dalias@aerifal.cx>
Wed, 17 Jan 2024 23:11:58 +0000 (17 18:11 -0500)
committerRich Felker <dalias@aerifal.cx>
Wed, 17 Jan 2024 23:11:58 +0000 (17 18:11 -0500)
treeea8d30a17772dfcb3a2e689c93071cf2579630ea
parentf47a5d400b8ffa26cfc5b345dbff52fec94ac7f3
remove INT_MAX limit on the n argument to snprintf/swprintf

this was a POSIX requirement that was always in conflict with ISO C,
which specified a well-defined behavior for snprintf and swprintf so
long as the actual number of bytes/characters produced did not exceed
INT_MAX.

I originally raised this conflict for snprintf with the Austin Group
as tracker issue 761, which was never resolved. it was later reported
again as issue 1219, and as a result the conflicting requirement has
been removed.

the corresponding issue with swprintf does not seem to have been
addressed, but as the same reasoning applies to it, I am removing the
limitation on n for swprintf as well.
src/stdio/vsnprintf.c
src/stdio/vswprintf.c