* 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.
This commit is contained in:
		| @@ -1,3 +1,10 @@ | ||||
| 2007-08-16  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* 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. | ||||
|  | ||||
| 2007-08-16  Corinna Vinschen  <corinna@vinschen.de> | ||||
|  | ||||
| 	* ntdll.h (RtlAcquirePebLock): Declare. | ||||
|   | ||||
| @@ -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); | ||||
| 	    } | ||||
| 	} | ||||
|   | ||||
| @@ -391,7 +391,7 @@ getacl (HANDLE handle, path_conv &pc, int nentries, __aclent32_t *aclbufp) | ||||
|       aclbufp[i].a_perm &= ~(DENY_R | DENY_W | DENY_X); | ||||
|     aclsort32 (pos, 0, aclbufp); | ||||
|   } | ||||
|   syscall_printf ("%d = getacl (%s)", pos, pc.get_win32 ()); | ||||
|   syscall_printf ("%d = getacl (%S)", pos, pc.get_nt_native_path ()); | ||||
|   return pos; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -715,8 +715,8 @@ set_file_attribute (HANDLE handle, path_conv &pc, | ||||
|     } | ||||
|   else | ||||
|     ret = 0; | ||||
|   syscall_printf ("%d = set_file_attribute (%s, %d, %d, %p)", | ||||
| 		  ret, pc.get_win32 (), uid, gid, attribute); | ||||
|   syscall_printf ("%d = set_file_attribute (%S, %d, %d, %p)", | ||||
| 		  ret, pc.get_nt_native_path (), uid, gid, attribute); | ||||
|   return ret; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -358,8 +358,8 @@ try_to_bin (path_conv &win32_path, HANDLE h) | ||||
| 				     FileRenameInformation); | ||||
|     } | ||||
|   if (!NT_SUCCESS (status)) | ||||
|     debug_printf ("Move %s to %s failed, status = %p", win32_path.get_win32 (), | ||||
| 		  recycler, status); | ||||
|     debug_printf ("Move %S to %S failed, status = %p", | ||||
| 		  win32_path.get_nt_native_path (), &recycler, status); | ||||
| out: | ||||
|   if (rootdir) | ||||
|     NtClose (rootdir); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user