delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/12/31/13:51:29

Date: Sun, 31 Dec 2000 20:50:09 +0200
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Sender: halo1 AT zahav DOT net DOT il
To: Martin Str|mberg <ams AT ludd DOT luth DOT se>
Message-Id: <8632-Sun31Dec2000205009+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: <200012311446.PAA18462@father.ludd.luth.se> (message from Martin
Str|mberg on Sun, 31 Dec 2000 15:46:04 +0100 (MET))
Subject: Re: DOZE and WINDOZE versions
References: <200012311446 DOT PAA18462 AT father DOT ludd DOT luth DOT se>
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

> From: Martin Str|mberg <ams AT ludd DOT luth DOT se>
> Date: Sun, 31 Dec 2000 15:46:04 +0100 (MET)
> 
> According to Eli Zaretskii:
> > I thought Windows 98 was supposed to report 7.20, at least in some of
> > its releases, no?  We have a couple of functions, like _rename and
> > mkdir, which depend on that: they call special functions of Int 21h
> > that support path names up to 128 characters.
> 
> Perhaps that is the SECOND EDITION?

Richard says that the 2nd edition also says DOS 7.10.  Strange...

> > Also, if you have access to Windows ME, could you see what goes wrong
> > with _rename on that OS?  We had in the past a few reports about
> > linking which fails with EINVAL due to that.
> 
> I've tried running "mv a b" with success. Doesn't mv use rename()?

It does.  But the problems I was told about seemed to happen when the
target of the rename already existed.  Did you try the above when `b'
already exists?

I'm attaching below a copy of a message sent to c.o.m.d. by a person
who tried to debug this, where you can find more details.

Thanks for working on this.


From: "ObiGuan Kenobi" <jgfw AT iname DOT com>
To: <djgpp AT delorie DOT com>
Subject: Re: DJGPP on Windows ME
Date: Mon, 21 Aug 2000 03:23:05 +0800
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com
Precedence: bulk
Content-Type: text/plain;
	charset="Windows-1252"
Content-Length: 1780

> > From: "ObiGuan Kenobi" <jgfw AT iname DOT com>
> > Date: Sun, 20 Aug 2000 15:47:33 +0800
> >
> > I have downloaded djlsr203.zip and did as you instructed and tried to
> > compile it. The compiler complains that stub.h is missing. Where can I find
> > this file?
>
> Sorry, that's my bad: I forgot about that file.
>
> This file is generated by the library build procedure, but since you
> didn't invoke that procedure, it was not created.  I attach the file
> below; simply cut it out and put it on stub.h in the same directory
> where you are working on this.

It seems that _rename( ) function from libc has some problems after using gdb. And one thing I forgotten to tell you.
Windows ME uses DOS 8.0, rather than DOS 7.1 that Win95b and Win98 uses. Not just stubify.exe is effected but ar.exe which
uses _rename () is effected too.

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. Below is the output of the test I did. The words in the brackets are my own comments.
Hope it is useful.

(test.exe doesn't exist at this point)
D:\>stubify test.000

(a test.exe was created from test.000)
D:\>stubify test.000
rename of test.001 to test.exe failed.
The error was: Invalid argument (EINVAL)
(renaming failure and test.exe from test.000 was deleted)

D:\>stubify test.000
(renaming success)

D:\>stubify test.000
rename of test.002 to test.exe failed.
The error was: Invalid argument (EINVAL)
(renaming failure and previous test.exe was deleted)


D:\>stubify test.000
(renaming success)

D:\>stubify test.000
rename of test.003 to test.exe failed.
The error was: Invalid argument (EINVAL)
(renaming failure and previous test.exe was deleted)

(and it goes on and on)



- Raw text -


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