diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-08-16 14:10:06 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-08-16 14:10:06 +0000 |
commit | bd61a7f7b922dc8b14fc5cc395d0b5503673b219 (patch) | |
tree | 40589110c603200756aef065b9338bd814a5bae9 | |
parent | 0abbc9f1d0f15ae45b6cc2a9d0d7cead76f3ccdf (diff) | |
download | newlib-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/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/fhandler.h | 2 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 2 |
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, |