www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/02/20/11:09:06

From: kagel AT quasar DOT bloomberg DOT com
Date: Thu, 20 Feb 1997 10:34:12 -0500
Message-Id: <9702201534.AA04299@quasar.bloomberg.com >
To: eliz AT is DOT elta DOT co DOT il
Cc: gfoot AT mc31 DOT merton DOT ox DOT ac DOT uk, djgpp AT delorie DOT com
In-Reply-To: <Pine.SUN.3.91.970219101308.22519J-100000@is> (message from Eli Zaretskii on Wed, 19 Feb 1997 10:13:42 +0200 (IST))
Subject: Re: Forgive my ignorance, but can someone answer a question for me?
Reply-To: kagel AT dg1 DOT bloomberg DOT com

   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 -


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