Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site utastro.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!teddy!panda!talcott!harvard!seismo!ut-sally!utastro!nather From: nather@utastro.UUCP (Ed Nather) Newsgroups: net.sources.bugs Subject: Re: flame of roff in 'C' by Butler Hine Message-ID: <982@utastro.UUCP> Date: Tue, 8-Jan-85 12:57:14 EST Article-I.D.: utastro.982 Posted: Tue Jan 8 12:57:14 1985 Date-Received: Thu, 10-Jan-85 07:05:20 EST References: <892@watcgl.UUCP> Organization: UTexas Astronomy Dept., Austin, Texas Lines: 24 [] 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