*BSD News Article 30315


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!bunyip.cc.uq.oz.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!EU.net!sun4nl!news.nic.surfnet.nl!tuegate.tue.nl!news.win.tue.nl!wzv.win.tue.nl!gvr.win.tue.nl!guido
From: guido@gvr.win.tue.nl (Guido van Rooij)
Newsgroups: comp.os.386bsd.questions
Subject: Re: ctwm 3.0
Date: 11 May 1994 13:50:31 GMT
Organization: Eindhoven University of Technology, The Netherlands
Lines: 22
Message-ID: <2qqnr7$3vd@wzv.win.tue.nl>
References: <2qordl$e7c@wzv.win.tue.nl> <1994May11.080109.20519@olivetti.nl> <NJW.94May11105325@wilma.cs.city.ac.uk>
NNTP-Posting-Host: gvr.win.tue.nl

njw@cs.city.ac.uk (Nick Williams) writes:

I now know what the problem is.... And it's not what you suggested. That
might have been a problem, but is corrected ion 3.0.

The reason is that in lex.l, input() is undefined and redefined to some 
internal read function.
However, in freebsd's lex, input() is not a define, neither as yywrap().
I can only conclude that ctwm's lex.l is completely broken in respect to
POSIX. (they also use the yylineno int).

Solution is to
1) put int yylineno=1 somewhere in lex.c
2) delete the define for yywrap
3) delete function definition for input()

-Guido
-- 
Guido van Rooij                 |  Internet: guido@gvr.win.tue.nl
Bisschopsmolen 16               |  Phone:    ++31.40.461433
5612 DS Eindhoven               |  ((12+144+20)+3*sqrt(4))/7 
The Netherlands                 |    +(5*11)=9^2+0