This is what I'm preparing to commit. I'm mailing it here as a preview, because doing the changelog is going to take.... some time. (160Kb diff to wade through).
The cstr_oneuse() is designed to allow efficient (via caching, not implemented yet) leak-safe char * usage of a string. An equivalent wcstr_oneuse() can be implemented to expose a wide char variant. (The underlying encoding of the string class will eventually be UTF-8/UTF-16 or something similar). I haven't implemented substrings yet, which is why the large number of .cstr_oneuse() calls and a few non-converted routines. Anyway, it's all working for me: ]. Cheers, Rob
Strings.patch.bz2
Description: Binary data