There's the infamous strncpy, of course, which understandably could cause some confusion. And various non-vendor faux-snprintf implementations, like uprintf, that have different semantics. It's hazardous to reuse a standardized name like snprintf, even as a suffix, in an API but not implement the same fundamental semantics.
See section 'Remark' on: https://learn.microsoft.com/en-us/cpp/c-runtime-library/refe...
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/).
You could add a c file with some unittests.
...I am going to put on my "client-facing consultant" hat for a moment, which means skipping the expletives, and just say that not only is this a Very Bad Design, it is such a Very Bad Design that someone should really have noticed this and not let it happen.
Because this really is a Startlingly Bad Idea.
The earlier design has been matured into Konsool [2] and is available as Tanmatsu [3].