Date: Fri, 16 Mar 2001 13:11:58 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: tim DOT van DOT holder AT pandora DOT be Message-Id: <2561-Fri16Mar2001131157+0200-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.3.emacs20_6 I) and Blat ver 1.8.6 CC: djgpp-workers AT delorie DOT com In-reply-to: Subject: Re: stubify and Windows ME References: 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 Precedence: bulk > From: "Tim Van Holder" > Date: Thu, 15 Mar 2001 19:13:09 +0100 > > 'stubify foo' works fine if foo.exe does not exist. > > 'stubify foo' fails if foo.exe exists: > rename of foo.000 to foo.exe failed. > The error was: Invalid argument (EINVAL) > > Afterwards, foo.exe is gone and foo.000 exists. > > Debugging (using sources from current CVS), I see that the int 21/43ff > call leaves 0x3003 in flags (ax: 1, bx: 0, cx:7f56). > Disabling the LFN version of this call in _rename (falling back on > 21/56) makes it work. So the time bomb I've put into v2.02 finally gets me... AX=1 means "Function number invalid". Can you see if this special branch always fails, no matter if the target file exists or not? (From the fact that "stubify foo" succeeds when foo.exe doesn't exist, it sounds like the existence of the target makes a difference.) Also, what does _dosexterr return, if called immediately after the failed Int 21h call? If 43FFh always fails, I guess we should simply take that code out: it looks like no version of DOS implements it, contrary to what RBIL says. There's a similar code in mkdir.c. Could you please set LFN=n and see if mkdir then also fails on Windows ME? TIA