Strncpy like a boss(littlecena.com)
littlecena.com
Strncpy like a boss
https://www.littlecena.com/use-strncpy-like-a-boss/
4 comments
I feel like developers avoid use of much safer functions like this out of some misguided belief there'll be a performance impact, unfortunately. Premature optimization etc.
I imagine the biggest reason is actually portability. glibc [1] doesn't have strlcpy/strlcat, for example.
1 - http://lwn.net/Articles/507319/
1 - http://lwn.net/Articles/507319/
Putting aside the fact that using sizeof is risky in itself, i'd argue the default form should be
strncpy (buffer, "abcd", sizeof(buffer));
assert (!buffer[sizeof(buffer) - 1]);
[1] http://www.unix.com/man-page/freebsd/3/strlcpy/