▲ | fjfaase 2 days ago | ||||||||||||||||
Nice work. I always have understood that snprintf does not write a null character when the produced string is longer than the given size. The snprintf function also can be called with a null pointer to calculate the length of the produced string. You could add a c file with some unittests. | |||||||||||||||||
▲ | wahern a day ago | parent | next [-] | ||||||||||||||||
> I always have understood that snprintf does not write a null character when the produced string is longer than the given size. snprintf always null-terminates when the buffer length is greater than 0 and there's no error. That is, if snprintf returns >= 0 and the buffer length is > 0, the output is null-terminated. This should be clear from your local snprintf(3) man page (e.g. https://man.openbsd.org/snprintf), but also see the C23 standard (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf) and POSIX (https://pubs.opengroup.org/onlinepubs/9799919799/). | |||||||||||||||||
| |||||||||||||||||
▲ | Forgret 2 days ago | parent | prev [-] | ||||||||||||||||
Thanks, I will make and add unit tests As you requested, I'm already starting to do it, but in the meantime, if you want, you can support the project with a star. :) |