This may be a worthwhile optimization given how frequently
dupstring/ztrdup/dyncat are used, but I'm concerned that "WLEN" may be
confused with counts of wide characters.
STRNCPY_NUL() or even ZSTRNCPY() ?
I was using WLEN based on dupstring_wlen(). I don't think strncpy() is a good name because it's already an extension that behaves very differently. According to the Linux man page: these functions [strncpy and stpncpy] copy the string pointed to by src into a null-padded character sequence at the fixed-width buffer pointed to by dst.