Mail Archives: djgpp-workers/2001/01/16/13:53:12
> From: "Robert van der Boon" <rjvdboon AT europe DOT com>
> 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.
- Raw text -