Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!brl-tgr!gwyn From: gwyn@brl-tgr.ARPA (Doug Gwyn) Newsgroups: net.lang.c Subject: Re: Roff in C and iscntrl() Message-ID: <6932@brl-tgr.ARPA> Date: Thu, 3-Jan-85 03:10:34 EST Article-I.D.: brl-tgr.6932 Posted: Thu Jan 3 03:10:34 1985 Date-Received: Sat, 5-Jan-85 02:09:34 EST References: <1161@ut-ngp.UUCP> Organization: Ballistic Research Lab Lines: 14 > > iscntrl( c ) should return non-zero for c in > > { 0, 1, ..., 036, 037, 0177 } and zero for c in > > { 040, 041, ..., 0175, 0176 }. > > If this is indeed correct, then the Portable C Compiler provided with > 4.2bsd is guilty of a serious offence. (Again, this is a matter of the C library, not of the compiler!) I confirmed that the 4.2BSD iscntrl() ctype macro is broken in the way previously described. UNIX System V iscntrl() performs as I described and as, apparently, the DeSmet C88 and CI-C86 C systems do. I wonder how ANYone could have decided that e.g. LF is NOT a control character? (I'm sure the 4.2BSD fans will think that makes sense!)