Subject: Re: Vi still can't remove its own vi-recover files from NFS /var/tmp
To: NetBSD-current Discussion List <current-users@NetBSD.org>
From: Luke Mewburn <lukem@NetBSD.org>
List: current-users
Date: 01/26/2004 03:40:20
--+PbGPm1eXpwOoWkI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Sat, Jan 24, 2004 at 10:06:58PM -0500, Greg A. Woods wrote:
| [ On Sunday, January 25, 2004 at 00:49:11 (+0100), Christian Biere wrot=
e: ]
| > Well, flex(3) uses isatty() without checking for a character special
| > device. So, gethostbyname() etc. will trigger a TIOCGETA for
| > /etc/nsswitch.conf.
|=20
| Ah, of course. I was a bit quick to give up on looking for a separate
| isatty() call in the (f)lex generated code when I found the fread() call
| since they would both occur at the same position in the ktrace output.
|=20
| Adding "%option never-interactive" to the lex source fixes this "proble=
m".
|=20
| Lex should probably also be invoked with '-B' as well.
Good call.
I've added "%option never-interactive" to nslexer.l, which is
sufficient to prevent isatty() from being called.
(Arguably the parser could just be written using fgetln() and
C string parsing instead of yacc & lex. That's a project for
another day.)
--+PbGPm1eXpwOoWkI
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
iD8DBQFAE/F0pBhtmn8zJHIRAqHvAJ9DHIt521CNISO7Rtcd9NuSH1hHJACgsn4H
fUzZtiUJ4ZLC34PmJk2/4GU=
=CC2X
-----END PGP SIGNATURE-----
--+PbGPm1eXpwOoWkI--