The C MathLink function MLGetUTF8String() returns a pointer to a UTF-8 string, the length of the string and the number of characters. UTF-8 is desgined in a way to be compatible with null-terminated strings, and it appears that this function does return a null-terminated string, but this is not explicitly documented.
Can I safely assume that MLGetUTF8String will always return a null-terminated string, or was it just an accident that in my test it appeared to return one? If would spare having to copy the whole string just to insert a '\0' at the end.
Note: I actually received an answer to this
here from another user but I was hoping for some more 'official' reassurance, considering that this is undocumented. Or perhaps suggest that it be documented, if possible.