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ã

questionAnswers(5)

yourAnswerToTheQuestion