aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-08-16 14:10:06 +0000
committerCorinna Vinschen <corinna@vinschen.de>2007-08-16 14:10:06 +0000
commitbd61a7f7b922dc8b14fc5cc395d0b5503673b219 (patch)
tree40589110c603200756aef065b9338bd814a5bae9
parent0abbc9f1d0f15ae45b6cc2a9d0d7cead76f3ccdf (diff)
downloadnewlib-bd61a7f7b922dc8b14fc5cc395d0b5503673b219.zip
newlib-bd61a7f7b922dc8b14fc5cc395d0b5503673b219.tar.gz
newlib-bd61a7f7b922dc8b14fc5cc395d0b5503673b219.tar.bz2
* fhandler.h (fhandler_base::get_namehash): Use NT native path.
* fhandler_disk_file.cc (readdir_get_ino): Ditto in call to hash_path_name.
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/fhandler.h2
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc2
3 files changed, 8 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 9c953eb..bc701fd 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,11 @@
2007-08-16 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler.h (fhandler_base::get_namehash): Use NT native path.
+ * fhandler_disk_file.cc (readdir_get_ino): Ditto in call to
+ hash_path_name.
+
+2007-08-16 Corinna Vinschen <corinna@vinschen.de>
+
* ntdll.h (RtlCreateUnicodeStringFromAsciiz): Fix declaration.
(RtlUpcaseUnicodeChar): Declare.
* path.cc (hash_path_name): Split into three functions, taking
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 56abcfb..665dd51 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -251,7 +251,7 @@ class fhandler_base
bool has_attribute (DWORD x) const {return pc.has_attribute (x);}
const char *get_name () const { return pc.normalized_path; }
const char *get_win32_name () { return pc.get_win32 (); }
- __ino64_t get_namehash () { return namehash ?: namehash = hash_path_name (0, get_win32_name ()); }
+ __ino64_t get_namehash () { return namehash ?: namehash = hash_path_name (0, pc.get_nt_native_path ()); }
/* Returns name used for /proc/<pid>/fd in buf. */
virtual char *get_proc_fd_name (char *buf);
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index 049928c..cccd440 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -1682,7 +1682,7 @@ readdir_get_ino (const char *path, bool dot_dot)
ino = st.st_ino;
}
else if (!pc.hasgood_inode ())
- ino = hash_path_name (0, pc);
+ ino = hash_path_name (0, pc.get_nt_native_path ());
else if (NT_SUCCESS (NtOpenFile (&hdl, READ_CONTROL,
pc.get_object_attr (attr, sec_none_nih),
&io, FILE_SHARE_VALID_FLAGS,