[net.unix-wizards] Why Berkeley changes in ctype?

rcd@opus.UUCP (03/06/84)

(Apologies if this has been answered before.)

Does anyone know why the 4.1a and later Berkeley versions of ctype_.c (in
libc/gen) were changed so that the characters HT, NL(LF), VT, NP(FF), and
CR (011-015) are no longer "control characters"?  For example, given
	#define	HT	'\011'
the test
	if (iscntrl(HT)) . . .
will fail in the Berkeley world.

This seems to have been changed at Berkeley; I believe it happened between
4.1 and 4.1a.  It puts the Berkeley "ctype" at odds with V7, System III
and V, the manual page ctype(3), and the ASCII standard (X3.4-1977) - in
other words, the rest of the world.  It can really bite you where you sit,
since it leaves some 7-bit codes not covered by either isprint or iscntrl.
-- 

{hao,ucbvax,allegra}!nbires!rcd

rcd@opus.UUCP (03/16/84)

 > Answer: It must have been a bug in 4.1a.  Ctype works fine in 4.2.

(For those of you just tuning in, somehow the characters tab-return
[HT, NL, VT, NP, CR = 011-015] got changed so that they were no longer
control characters.)
No, it doesn't - unless your 4.2 differs from ours.  The same problem
existed in 4.2 as we received it.
-- 
{hao,ucbvax,allegra}!nbires!rcd

gnu@sun.uucp (John Gilmore) (03/21/84)

Answer: It must have been a bug in 4.1a.  Ctype works fine in 4.2.