* 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> | 2007-08-16  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
| 	* ntdll.h (RtlAcquirePebLock): Declare. | 	* ntdll.h (RtlAcquirePebLock): Declare. | ||||||
|   | |||||||
| @@ -140,14 +140,15 @@ readdir_worker (DIR *dir, dirent *de) | |||||||
| 	  de->d_ino = ((fhandler_base *) dir->__fh)->get_namehash (); | 	  de->d_ino = ((fhandler_base *) dir->__fh)->get_namehash (); | ||||||
| 	  if (!is_dot && !is_dot_dot) | 	  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 (); | 	      DWORD devn = ((fhandler_base *) dir->__fh)->get_device (); | ||||||
| 	      /* Paths below /proc don't have a Win32 pendant. */ | 	      /* Paths below /proc don't have a Win32 pendant. */ | ||||||
| 	      if (isproc_dev (devn)) | 	      if (isproc_dev (devn)) | ||||||
| 		de->d_ino = hash_path_name (de->d_ino, "/"); | 		de->d_ino = hash_path_name (de->d_ino, L"/"); | ||||||
| 	      /* A drive's root dir has a trailing backslash already. */ | 	      else if (w32name->Buffer[w32name->Length / sizeof (WCHAR) - 1] | ||||||
| 	      else if (w32name[1] != ':' || w32name[2] != '\\' || w32name[3]) | 		       != L'\\') | ||||||
| 		de->d_ino = hash_path_name (de->d_ino, "\\"); | 		de->d_ino = hash_path_name (de->d_ino, L"\\"); | ||||||
| 	      de->d_ino = hash_path_name (de->d_ino, de->d_name); | 	      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); |       aclbufp[i].a_perm &= ~(DENY_R | DENY_W | DENY_X); | ||||||
|     aclsort32 (pos, 0, aclbufp); |     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; |   return pos; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -715,8 +715,8 @@ set_file_attribute (HANDLE handle, path_conv &pc, | |||||||
|     } |     } | ||||||
|   else |   else | ||||||
|     ret = 0; |     ret = 0; | ||||||
|   syscall_printf ("%d = set_file_attribute (%s, %d, %d, %p)", |   syscall_printf ("%d = set_file_attribute (%S, %d, %d, %p)", | ||||||
| 		  ret, pc.get_win32 (), uid, gid, attribute); | 		  ret, pc.get_nt_native_path (), uid, gid, attribute); | ||||||
|   return ret; |   return ret; | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -358,8 +358,8 @@ try_to_bin (path_conv &win32_path, HANDLE h) | |||||||
| 				     FileRenameInformation); | 				     FileRenameInformation); | ||||||
|     } |     } | ||||||
|   if (!NT_SUCCESS (status)) |   if (!NT_SUCCESS (status)) | ||||||
|     debug_printf ("Move %s to %s failed, status = %p", win32_path.get_win32 (), |     debug_printf ("Move %S to %S failed, status = %p", | ||||||
| 		  recycler, status); | 		  win32_path.get_nt_native_path (), &recycler, status); | ||||||
| out: | out: | ||||||
|   if (rootdir) |   if (rootdir) | ||||||
|     NtClose (rootdir); |     NtClose (rootdir); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user