Mail Archives: cygwin/1997/01/02/11:06:43
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, "/*"); /**/
----------------------------------
Scott Kempf (scottk AT ig DOT utexas DOT edu)
Running gnu-win32 beta 17.1
under Windows 95.
-
For help on using this list, send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".
- Raw text -