From: Christopher Faylor Date: Thu, 19 Jan 2006 18:55:07 +0000 (+0000) Subject: * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check posix path for X-Git-Tag: gdb-csl-20060226-branchpoint~132 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=7b55b34c5e64c0d8140a43325540f75315855fff;p=newlib-cygwin.git * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check posix path for root rather than windows path. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 796d03cca..7aa883917 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2006-01-19 Christopher Faylor + + * fhandler_disk_file.cc (fhandler_disk_file::opendir): Check posix path + for root rather than windows path. + 2006-01-19 Christopher Faylor * dir.cc (readdir_worker): Fill in invalid fields with -1. Accommodate diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 15d278d55..7243d591f 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1335,7 +1335,7 @@ fhandler_disk_file::opendir () DIR *dir; DIR *res = NULL; size_t len; - path_conv rootdir ("/"); + path_conv rootdir ("/", PC_POSIX); if (!pc.isdir ()) set_errno (ENOTDIR); @@ -1381,7 +1381,7 @@ fhandler_disk_file::opendir () dir->__d_dirhash = get_namehash (); res = dir; - dir->__flags = strcasematch (pc, rootdir) ? dirent_isroot : 0; + dir->__flags = (pc.normalized_path[0] == '/' && pc.normalized_path[1] == '\0') ? dirent_isroot : 0; } syscall_printf ("%p = opendir (%s)", res, get_name ());