* 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:
parent
dec9daad4a
commit
29fec364c0
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue