I have a C library that internally handles strings as {len, u8*} with no null termination. It is painful to rewrite these as null terminated char* at API boundary. I think it is still better than forcing a non-standard string type on api consumers.
Has anyone hit on an API design strategy here that's better than converting to char* in practice?