From 29fec364c0ccf362af6cc232dbc2f3cbf3ec877e Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 16 Aug 2007 14:46:23 +0000 Subject: * dir.cc (readdir_worker): Convert w32name to PUNICODE_STRING. * sec_acl.cc (getacl): Convert debug output to print native NT path. * security.cc (set_file_attribute): Ditto. * syscalls.cc (try_to_bin): Ditto and fix buggy debug statement. --- winsup/cygwin/dir.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'winsup/cygwin/dir.cc') diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc index 72d6ac1ab..c1f325ea6 100644 --- a/winsup/cygwin/dir.cc +++ b/winsup/cygwin/dir.cc @@ -140,14 +140,15 @@ readdir_worker (DIR *dir, dirent *de) de->d_ino = ((fhandler_base *) dir->__fh)->get_namehash (); if (!is_dot && !is_dot_dot) { - const char *w32name = ((fhandler_base *) dir->__fh)->get_win32_name (); + PUNICODE_STRING w32name = + ((fhandler_base *) dir->__fh)->pc.get_nt_native_path (); DWORD devn = ((fhandler_base *) dir->__fh)->get_device (); /* Paths below /proc don't have a Win32 pendant. */ if (isproc_dev (devn)) - de->d_ino = hash_path_name (de->d_ino, "/"); - /* A drive's root dir has a trailing backslash already. */ - else if (w32name[1] != ':' || w32name[2] != '\\' || w32name[3]) - de->d_ino = hash_path_name (de->d_ino, "\\"); + de->d_ino = hash_path_name (de->d_ino, L"/"); + else if (w32name->Buffer[w32name->Length / sizeof (WCHAR) - 1] + != L'\\') + de->d_ino = hash_path_name (de->d_ino, L"\\"); de->d_ino = hash_path_name (de->d_ino, de->d_name); } } -- cgit v1.2.3