[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: EMX on DOS

From: Paul Edwards
Subject: Re: EMX on DOS
Date: Mon, 03 Nov 2003 11:14:55 GMT

"Derek Robert Price" <address@hidden> wrote in message news:address@hidden
> |"Paul Edwards" <address@hidden> wrote in message
> news:address@hidden
> |
> |1. Should I rely on the HAVE_LONG_FILE_NAMES for
> |the DOS port?
> You can rely on configure to set it correctly.  If you are going to go

But I can I put DOS 8.3 changes within that, or is it used
for other systems that don't have long filenames, but
aren't restricted to DOS's 8.3 limitations either?

> ahead with a DOS port, you might want to look into DJGPP
> <http://www.delorie.com/djgpp>.  DJGPP is a 32-bit DOS portability
> layer.  Much like Cygwin, I think, except I think more care was taken to
> actually provide for DOS quirks like 8.3 filenames.  I've seen the
> patches come across the Autoconf list for this.  Anyhow, if you hadn't
> guessed, DJGPP comes with a Bash port to run configure scripts.

EMX is a 32-bit DOS portability layer too. I already have
this installed and already working.  What I don't have is a
working shell program.  Posix compliant should not be dependent
on having non-Posix extensions that aren't even remotely C.  C
is what is portable.  Shell is not.  Not all posix systems have
all the dependencies in configure, but they do have all the things
required by the Posix 1003.1 standard, ergo why they are posix
compliant.  My installed and working EMX system only came
with the compiler.

BTW, without changes to CVS source code, it is not possible
to be able to use the "\" that is used in DOS.

> |2. In filesubr.c I was very surprised to see rename() being
> |used, without any #ifdefing to say whether rename would
> |overwrite an existing file.  The C standard leavs it
> |ambiguous.  Any reason why we don't delete the target
> |before rename?  I'm surprised this is the first system in this
> |boat.  It was also necessary to make it writable.
> filesubr.c is implemented for each platform, with the version in src
> intended for those platforms which can run configure.

Even if they can run configure, there is no option to say
"my system doesn't allow rename to overwrite an
existing file".  Not that I saw anyway.  There is one to
say HAVE_RENAME, but I do have rename, but it
doesn't overwrite files, as indeed it is not required to do
by the C89 standard, which I don't expect was written for
just EMX for DOS.

> There is a
> separate version in the windows-NT directory, for example.  If the
> version in src doesn't have a switch for platforms which don't allow
> renames over existing files, I would guess the issue hasn't been raised
> previously or nobody noticed if it was.

This is for DOS, not Windows.  I raised it and submitted
a fix.

BFN.  Paul.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]