Snprintf () SEMPRE nula está terminando?
Snprintf sempre nula encerra o buffer de destin
Em outras palavras, isso é suficiente:
char dst[10];
snprintf(dst, sizeof (dst), "blah %s", somestr);
ou você tem que fazer assim, se alguma coisa for longa o suficiente?
char dst[10];
somestr[sizeof (dst) - 1] = '\0';
snprintf(dst, sizeof (dst) - 1, "blah %s", somestr);
Estou interessado no que o padrão diz e no que algumas libc populares podem fazer, o que não é um comportamento padrã