Bug fix on the "%s" format

Consider the code below:
char *a = "aaa"; 
char b[10] = snprintf(b, 10, "%s bbb", a); 
//b will only contain "aaa"

The "%s" format seems to include the '\0' character of the supplied parameter (which prematurely terminates the string). I traced this to the mini_strlen() method which includes the '\0' character in its count.