|
From: | Paul Eggert |
Subject: | Re: [PATCH] IBM z/OS + EBCDIC support |
Date: | Tue, 22 Sep 2015 19:02:25 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
Code that uses c-ctype wants only ASCII letters, and departing from this would likely break things.How would that match occur? c_isalpha() was/is using a "switch" statement for EBCDIC.
Oh, sorry, I was assuming that the substitution was being proposed for all the functions; but it's being proposed only for c_isascii, c_iscntrl, c_isgraph, c_isprint, and c_ispunct. These functions are so rarely used that it probably doesn't matter that much what we do....
If the user builds in one locale and runs in another, they're going to have bigger problems (e.g. garbled program messages). As far as I've seen, this is considered "out of bounds" in z/OS usage.
Excellent; that simplifies things.
A different code page at run time, I think, is not feasible. But international users will at least want a different code page at compile time. A simple program could generate tables for all the isxxxxx() functions (see below) at compile time. Would you be inclined to do it that way?
I think we can do it without that kind of compile-time hassle, if we can assume that the compile-time locale is the same as the run-time. I installed the attached patch, which makes that assumption, and which I hope does the right thing.
0001-c-ctype-support-EBCDIC-style-c_isascii.patch
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |