delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/08/06/14:42:30

Date: Mon, 06 Aug 2001 21:38:25 +0300
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Sender: halo1 AT zahav DOT net DOT il
To: sandmann AT clio DOT rice DOT edu
Message-Id: <2110-Mon06Aug2001213825+0300-eliz@is.elta.co.il>
X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.9
CC: acottrel AT ihug DOT com DOT au, djgpp-workers AT delorie DOT com
In-reply-to: <10108061654.AA19657@clio.rice.edu> (sandmann@clio.rice.edu)
Subject: Re: Windows 2000 LFN issues
References: <10108061654 DOT AA19657 AT clio DOT rice DOT edu>
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

> From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
> Date: Mon, 6 Aug 2001 11:54:28 -0500 (CDT)
> 
> I thought about always making "open" use the SFN instead of the LFN.
> What do we do with creating new LFN files?  Those handles would break
> unless something like dup worked.  I would hate to create the file,
> close it and re-open with SFN ...

Right.  I expect this strategy to be hard to implement universally.
(Although IIRC that's exactly what ntlfn is doing on NT4; but ntlfn
doesn't have any choice, and it has the Win32 API on its side.)
That's why I think we should try to be pragmatic at first: if the
number of functions that are broken is small, it might be better to
have local work-arounds for those functions only.

> While the 0x57xx calls seem to be replaceable with LFN calls, I didn't 
> immediately see the LFN equivalent for the 0x44xx device attributes calls.

From what we know now, it sounds like the DOS character devices
emulation is completely broken if you go through LFN functions.
Witness the lack of character-device bit in the attribute byte
returned by findfirst--this has nothing to do with file handles.

That said, you might try some of the subfunctions of function 440Dh,
perhaps they might help.

> Some features like extended fstat() info would only be available on LFN
> handles (unless the LFN call worked on SFN handles...) so we should 
> elaborate before construction ...

It seems Andrew found out that LFN calls used by fstat work on handles
returned by SFN open function.

- Raw text -


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