Mail Archives: djgpp/1997/02/20/11:09:06
Errors-To: postmaster AT ns1
Date: Wed, 19 Feb 1997 10:13:42 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
Cc: gfoot AT mc31 DOT merton DOT ox DOT ac DOT uk, djgpp AT delorie DOT com
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Content-Length: 1537
On Tue, 18 Feb 1997 kagel AT quasar DOT bloomberg DOT com wrote:
> You know in my Linux installation I mount the DOS drives to /c: and /d:.
> Why not just map /c:/... TO c:/..., etc.
One problem with this is that `:' is a PATH separator character in
Unix (like `;' in DOS and MS-Windows), so this will break some
programs. But even without the PATH issue, the code that takes apart
and/or constructs filenames in Unix programs has to be taught about
the magic meaning of the colon after the initial "/c". So this still
doesn't solve the problem.
> The real problem is not mapping UNIX style names to DOS but DOS style symantics
> to UNIX style filenames. For example C:DIR1/DIR2/file in DOS means file named
> 'file1' in the DIR2 subdirectory of the DIR1 subdirectory of the current
> directory on C drive. There is no such concept as current directory in UNIX
> style filenames. Everything else, IMHO, is easily mapped. Solve this one and
> you are on your way.
Alas, this cannot be ``solved'' either, not unless you rewrite the
Unix programs to be aware of such systems. The problem is that the
code of Unix programs simply assumes there's only one root which is
the parent of all the other directories (and also a parent of itself,
but that's another story); the code is written with this assumption in
mind and just plainly breaks when you use it on MSDOS. The only
alternative to get this right on MSDOS without rewriting code is to
use JOIN (which is tricky, and was also withdrawn by Microsoft from
the latest versions of DOS).
Yup. In addition, my careful directory structure for mounting DOS FS's on
Linux fails for any network aware UNIX programs, like ftp and Emacs (which
wants to run ftp to get the files named /c:/... from host 'c'), which keep
trying to find a host named 'c' or 'd' when they see the colon! Arg. I had to
change my mountings last night to /mnt/dos/[cd] and sym-link /[cd]: to
/mnt/dos/[cd] so that I can use the real directories. [I tried sym-linking the
/c: mount point to another name but Emacs is just too darn smart and follows
the link to the real name and still wants to run ftp to hostname 'c'.] Oh
well!
--
Art S. Kagel, kagel AT quasar DOT bloomberg DOT com
A proverb is no proverb to you 'till life has illustrated it. -- John Keats
- Raw text -