www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2002/04/28/10:37:52

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f
From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10204281438.AA13572@clio.rice.edu>
Subject: Re: _open LFN & Win 2K Bug (Was Re: a bug)
To: acottrel AT ihug DOT com DOT au (Andrew Cottrell)
Date: Sun, 28 Apr 2002 09:38:55 -0500 (CDT)
Cc: djgpp-workers AT delorie DOT com (DJGPP developers),
eliz AT is DOT elta DOT co DOT il (Eli Zaretskii)
In-Reply-To: <001501c1ee9f$9629b110$0102a8c0@acceleron> from "Andrew Cottrell" at Apr 28, 2002 08:22:21 PM
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

Andrew noted:
> I have traced the problem back to the _open(). If the file does not exist
> and LFN is set to yes _open() sets the errno to 14 decimal, but if LFN is
> set to No then _open() sets errno to 22.  It looks like the changes made way
> back in September last year with _open.c to add Win XP and 2K are not
> complete.
> 
> In a nutshell the problem is that _open() is setting errno to the wrong
> error code which then causes grep to display the wrong message.

Thanks for the quick analysis!

We've seen this before on the rename issue, that the error code from
Win2K isn't what is expected.  I suspect the DOS error number is something
really weird - we map those all to EINVAL.  Since I'm responsible for the
mess known as _open, I'll take a look at it sometime ...

I'm cc'ing workers so they'll be fully informed.

> > ----- Original Message -----
> > From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
> > To: "Walter Kennedy" <wkennedy AT softintegration DOT com>
> > Cc: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>; <acottrel AT ihug DOT com DOT au>
> > Sent: Sunday, April 28, 2002 12:18 PM
> > Subject: Re: a bug
> >
> > > > E:\Documents and Settings\test test\tmp> fgrep include *.cpp
> > > > fgrep: *.cpp: Bad address (EFAULT)
> > >
> > > I see the same error message in any directory (doesn't need to
> > > be empty) if I use a wildcard'ed name which doesn't exist.  Since
> > > I don't have any .cpp files in c:\, I see the same error message.
> > >
> > > Which version of fgrep are you using?  I tested using a version
> > > dated 1/14/2000 - which means it has not been rebuilt with the
> > > updated libc (patched for W2K/XP).  I don't know if rebuilding
> > > fgrep would fix it.
> > >
> > > (Note to everyone, seems like LFN bug, since set LFN=n causes it
> > > to return the correct error "No such file or directory (ENOENT)".
> > > I see this on other images not rebuilt, but don't see it on any
> > > new images ... which seems to indicated rebuilding with new libc
> > > might fix).

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019