On Sun, May 23, 2010 at 5:40 PM, Branko Čibej <br...@xbc.nu> wrote: > > This is very, very wrong, because we use the ctypes for other things, > not just for string literals.
I'm aware that ctypes are used for other things. I don't see why using APR's portable version of ctypes across the board would break anything. I couldn't find a reason why subversion requires a custom version of ctypes which happens to be non-portable. > There is a very deep-rooted assumption > within the code that inside the library, all strings are encoded in (a > subset of) UTF-8, and that implies that we expect string literals to be > in ascii. > There certainly are a lot of string literals that are assumed to be UTF-8, agreed. > Others have ported Subversion to EBCDIC systems > It was OS/400 (aka. iSeries). OS/390 was an earlier brand name for z/OS. > but IIRC they always told their compilers to treat the source as > ASCII. There was a port that used some sort of #pragma or preprocessing, > I don't recall which, to handle string literals, but it died off because > it was too easy to just tell the compiler to do the right thing. > printf style format strings and args for other (but not all) library functions are expected to have native encoding on z/OS, so using the #pragmas is not as easy as I would like. Greg