[2] in Athena Bugs
[Jonathan Rosenberg: Problem Found !!]
daemon@ATHENA.MIT.EDU (Robert S. French)
Wed Mar 9 23:33:58 1988
Date: Tue, 8 Mar 88 15:55:10 EST
From: "Robert S. French" <rfrench@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
Anybody have any clue as to why one of us (Athena or CMU) is running a
broken version of lex?
Rob
----- Begin Forwarded Message
Date: Tue, 8 Mar 88 14:23:44 -0500 (EST)
From: Jonathan Rosenberg <jr+@andrew.cmu.edu>
To: rfrench@ATHENA.MIT.EDU
Subject: Problem Found !!
Cc: Nathaniel Borenstein <nsb+@andrew.cmu.edu>,
"Craig F. Everhart" <cfe+@andrew.cmu.edu>,
Adam Stoller <ghoti+@andrew.cmu.edu>,
Jonathan Rosenberg <jr+@andrew.cmu.edu>
Rob,
We (Nathaniel & I) just found the problem with the address parsing routines.
This is very strange: the problem is that your lex(1) is producing different
output than ours. In the file "lex.yy.c", which is the output from lex, you
will find the following line
if (yytext[0] == 0 && feof(yyin))
The output from our lex for this line is
if (yytext[0] == 0 /* && feof(yyin) */)
This is the only difference between the corresponding lex.yy.c. files!! This,
of course, is also the cause of the problem: because the address is read from
memory, feof(stdin) will never be true & the lex routines don't know when to
stop.
Two things:
(i) You should be able to get cui/messages to run by making the above change
in lex.yy.c
(ii) Do you have any idea whose lex is "correct" ??? Why is yours different
than ours?
Jonathan Rosenberg
----- End Forwarded Message