This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
RE: dos file names (what should I do)
- To: "'Wayne Davison'" <wayne at clari dot net>
- Subject: RE: dos file names (what should I do)
- From: Mikey <jeffdb at netzone dot com>
- Date: Sun, 2 Feb 1997 10:47:36 -0700
- Cc: "'gnu-win32 mailing list'" <gnu-win32 at cygnus dot com>
See this patch
Since various utilities have trouble with the double-slash paths, I
recommend mounting all your drive letters. One simple approach would be to
mount them in the root directory:
mount d: /d
Unfortunately there are yet bugs in how mounted directories are handled.
Have you ever tryed typing "ls /"? I always get an empty directory
listing for this or any drive's root dir that is mounted (such as trying
"ls /d" or even "ls /d/." using the above example). However, it works fine
for specifying files.
Note that if you want the mount points to show up in a directory listing,
you should do a "mkdir /d" before you do the mount. However, this isn't
required.
I also think that cygwin.dll should be changed to use some better default
mounts than //x -- I think that /dev/x (or even /dev/dsk/x) would work
well. These things don't have to be short since they can be mounted
wherever the user wishes.
..wayne..
From: Scott Kempf[SMTP:scottk@utig.ig.utexas.edu]
Sent: Friday, January 10, 1997 3:42 AM
To: gnu-win32@cygnus.com
Subject: patch for diropen() fixes access to /
A number of programs have trouble with accessing "/".
The problem seems to be due to opendir() changing "/"
into "c:\/*". This patch fixes this and allows "ls /"
to work correctly. This doesn't fix "ls //".
Scott
*** cdksrc/src/winsup/dirsearch.cc.orig Tue Dec 31 14:42:55 1996
--- cdksrc/src/winsup/dirsearch.cc Tue Dec 31 14:43:17 1996
***************
*** 22,27 ****
--- 22,29 ----
#define _COMPILING_NEWLIB
#include "dirent.h"
+ #define SLASH_P(C) ((C) == '/' || (C) == '\\')
+
extern "C"
DIR *
opendir (const char *dirname)
***************
*** 70,76 ****
strcpy (dir->__d_dirname, real_dirname.get_win32 ());
/* FindFirstFile doesn't seem to like duplicate /'s. */
len = strlen (dir->__d_dirname);
! if (len == 0 || dir->__d_dirname[len - 1] == '/')
strcat (dir->__d_dirname, "*");
else
strcat (dir->__d_dirname, "/*"); /**/
--- 72,78 ----
strcpy (dir->__d_dirname, real_dirname.get_win32 ());
/* FindFirstFile doesn't seem to like duplicate /'s. */
len = strlen (dir->__d_dirname);
! if (len == 0 || SLASH_P(dir->__d_dirname[len - 1]))
strcat (dir->__d_dirname, "*");
else
strcat (dir->__d_dirname, "/*"); /**/
-
For help on using this list, send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".