http://en.wikipedia.org/wiki/Strlcpy#Criticism
His preferred solution is to use the highly portable
*((char *) mempcpy (dst, src, n)) = '\0';
[1] http://sourceware.org/bugzilla/show_bug.cgi?id=4980
http://en.wikipedia.org/wiki/Strlcpy#Criticism