> if the string length is _exactly_ the length of the buffer, is it > deliberately non-null-terminated? it is always null terminated (look at the code). That's one reason why we don't use strncpy(). The other reason is performance.