It will not add one if there isn't one already. (I should probably rename this function, work in progress..). But the type is an array of the correct length.
Edit: renamed to strv2array
Edit: renamed to strv2array
The allocating version is what string_dup does. strv2cstr is certainly more dangerous. But as since the size is encoded in the return type, compilers can add bounds checking (and partially already do so).