summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc3
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 35b1c9deb..4efbd2244 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2011-02-15 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Don't
+ append slash if there is one already.
+
+2011-02-15 Corinna Vinschen <corinna@vinschen.de>
+
Revert change from 2010-08-31:
* path.cc (normalize_posix_path): Drop support for //./ and //?/
prefixes.
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index a1ae8c184..115b746c7 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -1831,7 +1831,8 @@ fhandler_disk_file::readdir_helper (DIR *dir, dirent *de, DWORD w32_err,
tmp_pathbuf tp;
char *file = tp.c_get ();
char *p = stpcpy (file, pc.normalized_path);
- *p++ = '/';
+ if (p[-1] != '/')
+ *p++ = '/';
sys_wcstombs (p, NT_MAX_PATH - (p - file),
fname->Buffer, fname->Length / sizeof (WCHAR));
path_conv fpath (file, PC_SYM_NOFOLLOW);