Date: Tue, 16 Jan 2001 20:08:25 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: "Robert van der Boon" Message-Id: <2593-Tue16Jan2001200825+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: <000501c07f34$cfdd7d00$1b354bd5@robert> (rjvdboon@europe.com) Subject: Re: patch.exe (fwd) References: <000501c07c0e$9c67ab40$d7394bd5 AT robert> <7704-Sat13Jan2001115518+0200-eliz AT is DOT elta DOT co DOT il> <000501c07f34$cfdd7d00$1b354bd5 AT robert> 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: "Robert van der Boon" > Date: Mon, 15 Jan 2001 21:44:06 +0100 > > > Okay, this is our villain: the __dpmi_int call either shouldn't have > > failed (if `new' didn't exist) or was supposed to fail with 5 in EAX. > > New does exist. > > > Actually, in this case, I'm guessing that it should have failed with > > 17 in EAX (not same device), since the two files are not on the same > > drive, right? > > Wrong. They are on the same device. TMPDIR=e:/djgpp/tmp, > file=readme.txt, current dir=e:/temp. If they are NOT on the same device > patch DOES work. Wait, I'll double-check that one as well... > > > (What are `new' and `old' at this point, btw?) > > old="e:/djgpp/tmp/9$$djren$$.$$temp$$", new="readme.txt" So, what happens if you simply try to rename e:/djgpp/tmp/foo to e:/temp/bar with a simple call to _rename on that machine, and e:/temp/bar already exists? Does it fail with the same error code 183? And what happens if e:/temp/bar does not exist? (I'm trying to figure out whether there's a general problem with _rename on W2K, or maybe Patch does something that prevents _rename from working correctly.) > I tried jumping to the Win98 2143FF BP5053 function, but that gave > r.x.ax=1, r.x.flags = 3. (function not supported). Yes, it seems like those functions are not supported anywhere (RBIL says DOS 7.20 supports them, but there's no such version of DOS in existence). > I think I'll try using the NTLFN package as well, maybe it matters. This is not worth your effort: NTLFN replaces the LFN API with its own code, which is known to work, and we already established that this failure is somehow connected with W2K's LFN functions.