Date: Wed, 19 Feb 1997 10:13:42 +0200 (IST) From: Eli Zaretskii To: kagel AT dg1 DOT bloomberg DOT com cc: gfoot AT mc31 DOT merton DOT ox DOT ac DOT uk, djgpp AT delorie DOT com Subject: Re: Forgive my ignorance, but can someone answer a question for me? In-Reply-To: <9702182221.AA02212@quasar.bloomberg.com > Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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).