Date: Mon, 21 Aug 2000 10:51:13 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: jgfw AT iname DOT com Message-Id: <1659-Mon21Aug2000105113+0300-eliz@is.elta.co.il> X-Mailer: Emacs 20.6 (via feedmail 8.2.emacs20_6 I) and Blat ver 1.8.5b CC: djgpp AT delorie DOT com In-reply-to: <000401c00ae5$4f4b5720$3538bcca@tm.net.my> (jgfw@iname.com) Subject: Re: DJGPP on Windows ME References: <001901c009c8$d8fde140$0439bcca AT tm DOT net DOT my> <9743-Sat19Aug2000213143+0300-eliz AT is DOT elta DOT co DOT il> <003301c00a22$0dc739e0$d5616acb AT tm DOT net DOT my> <2110-Sun20Aug2000085842+0300-eliz AT is DOT elta DOT co DOT il> <001d01c00a7a$e9531d00$f839bcca AT tm DOT net DOT my> <8296-Sun20Aug2000120325+0300-eliz AT is DOT elta DOT co DOT il> <000401c00ae5$4f4b5720$3538bcca AT tm DOT net DOT my> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: "ObiGuan Kenobi" > Date: Mon, 21 Aug 2000 03:23:05 +0800 > > It seems that _rename( ) function from libc has some problems Okay, that much I expected. But it still doesn't tell enough to know how to correct this. We need more info, see below. > And one thing I forgotten to tell you. Windows ME uses DOS 8.0, > rather than DOS 7.1 that Win95b and Win98 uses. Thanks for the info. This shouldn't by itself cause problems, though, since all versions above 7.0 are treated the same, provided the version isn't 10.x (which is reserved by OS/2's DOS emulation). > Not just stubify.exe is effected but ar.exe which uses _rename () is > effected too. What ar command line fails, and with what error message? > This is what I found out. I think the _rename( ) function has no > problem renaming from filename X to Y if Y doesn't exist. If Y > exist, then _rename() will fail. I need to know where exactly does _rename fail, and why. Please take a look at _rename's source near line 110: if the file Y already exists, it deletes it and tries again. Please step with GDB through that code and see what isn't working. It's possible that it will be easier for you to compile _rename.c with -DTEST and use the small test program produced by that to look into this. That is, use the following commands: gcc -DTEST -g -o _rename _rename.c gdb _rename.exe break _rename run test.000 test.001 (assuming test.001 already exists). Once again, thanks for working on this.