flame of roff in 'C' by Butler Hine

Ed Nather nather at utastro.UUCP
Wed Jan 9 03:57:14 AEST 1985


[]
The differing effects were due to compiling "roff.c" on different
compilers.  The basic input routine used the library function
"iscntrl()" which, under 4.2bsd (at least) DOES NOT consider newlines
to be control characters; it passed newlines to the program, which could
then find the ends of lines.  The manual page describes "iscntrl()"
as returning TRUE if the ASCII code is smaller than octal 40 or is
octal 177.  If these rules are applied, roff.c, as distributed, never
finds a newline after any dot-request line and fails totally.

This is clearly not the author's fault, but it IS a portability problem.
It was explained in net.lang.c, where it was greeted with massive apathy.

I owe an apology to the net for posting in net.sources, but the machine I
was on did not recognize net.sources.bugs as a legitimate newgroup.  It now
does.  I also owe the innocent graduate student Butler Hine an apology;
I used his account and posted to the net, realizing only belatedly he'd be
charged with the crime.  utastro was down at the time, for almost 2 weeks,
and I was getting withdrawal symptoms without access to netnews.

"To err is human; to forgive, impossible."

Ed Nather
{ihnp4,allegra}!{noao,ut-sally}!utastro!nather



More information about the Comp.sources.bugs mailing list