Xref: utzoo comp.lang.c:14770 comp.std.c:564 Newsgroups: comp.lang.c,comp.std.c Path: utzoo!henry From: henry@utzoo.uucp (Henry Spencer) Subject: Re: Definition of isprint() Message-ID: <1988Dec15.180512.1854@utzoo.uucp> Organization: U of Toronto Zoology References: <474@sdrc.UUCP> Date: Thu, 15 Dec 88 18:05:12 GMT In article <474@sdrc.UUCP> scjones@sdrc.UUCP (Larry Jones) writes: >We're using SAS C on an IBM mainframe and just ran into an >interesting problem. SAS has defined "printing character" in >terms of what is printable on an ancient line printer so some >obviously printable characters such as "{", "}", "[", "]", "\", >and "!" cause isprint() to return 0! One should remember that on an IBM system speaking EBCDIC, there *is* no firm definition of which characters print and which don't, or what they print as when they print, because there *is* no single character code named "EBCDIC". EBCDIC is a large family of different, often incompatible, character codes. Some EBCDICs, e.g. the one on the IBM 360/370 summary card (at least, on my old copy of it), do not have some of those characters at all. "!" seems a curious omission, but the location and presence of the other characters you mention are highly variable in EBCDIC. -- "God willing, we will return." | Henry Spencer at U of Toronto Zoology -Eugene Cernan, the Moon, 1972 | uunet!attcan!utzoo!henry henry@zoo.toronto.edu