> Actually, I think C functions should take ubyte* instead of char* > because they aren't necessarily UTF-8
I thought about this a little more and changed my mind. char* (maybe const) might not be ideologically pure but is the best choice because: a) It is what people expect and b) It lets string literals keep working (with the ptr property) (b) is a big helper in convenience and it helps C functions feel like they belong in D instead of being annoying to work with.