delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/08/21/03:49:51

Date: Mon, 21 Aug 2000 10:51:13 +0200
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
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

> From: "ObiGuan Kenobi" <jgfw AT iname DOT com>
> 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.

- Raw text -


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