* ntdll.h (RtlEqualUnicodePathPrefix): Rename from RtlEqualPathPrefix.

(RtlEqualUnicodePathSuffix): Rename from RtlEqualPathSuffix.
	* fhandler_disk_file.cc (fhandler_disk_file::link): Accommodate above
	change.
This commit is contained in:
Corinna Vinschen 2007-07-28 16:08:45 +00:00
parent 74c5e8c73a
commit 81e98baf81
3 changed files with 17 additions and 10 deletions

View File

@ -1,4 +1,11 @@
2007-07-27 Corinna Vinschen <corinna@vinschen.de> 2007-07-28 Corinna Vinschen <corinna@vinschen.de>
* ntdll.h (RtlEqualUnicodePathPrefix): Rename from RtlEqualPathPrefix.
(RtlEqualUnicodePathSuffix): Rename from RtlEqualPathSuffix.
* fhandler_disk_file.cc (fhandler_disk_file::link): Accommodate above
change.
2007-07-28 Corinna Vinschen <corinna@vinschen.de>
* ntdll.h (RtlInitCountedUnicodeString): Swap order of string and length * ntdll.h (RtlInitCountedUnicodeString): Swap order of string and length
parameters to be the same as for RtlInitEmptyUnicodeString. parameters to be the same as for RtlInitEmptyUnicodeString.

View File

@ -1051,9 +1051,10 @@ fhandler_disk_file::link (const char *newpath)
newpc.check (newpath, PC_SYM_NOFOLLOW); newpc.check (newpath, PC_SYM_NOFOLLOW);
} }
else if (!pc.isdir () else if (!pc.isdir ()
&& RtlEqualPathSuffix (pc.get_nt_native_path (), L".exe", TRUE) && RtlEqualUnicodePathSuffix (pc.get_nt_native_path (),
&& !RtlEqualPathSuffix (newpc.get_nt_native_path (), L".exe", L".exe", TRUE)
TRUE)) && !RtlEqualUnicodePathSuffix (newpc.get_nt_native_path (),
L".exe", TRUE))
{ {
/* Executable hack. */ /* Executable hack. */
stpcpy (stpcpy (new_buf, newpath), ".exe"); stpcpy (stpcpy (new_buf, newpath), ".exe");
@ -1066,8 +1067,7 @@ fhandler_disk_file::link (const char *newpath)
NTSTATUS status; NTSTATUS status;
OBJECT_ATTRIBUTES attr; OBJECT_ATTRIBUTES attr;
IO_STATUS_BLOCK io; IO_STATUS_BLOCK io;
status = NtOpenFile (&fh, 0, status = NtOpenFile (&fh, 0, pc.get_object_attr (attr, sec_none_nih), &io,
pc.get_object_attr (attr, sec_none_nih), &io,
FILE_SHARE_VALID_FLAGS, FILE_SHARE_VALID_FLAGS,
FILE_OPEN_FOR_BACKUP_INTENT | FILE_OPEN_REPARSE_POINT); FILE_OPEN_FOR_BACKUP_INTENT | FILE_OPEN_REPARSE_POINT);
if (!NT_SUCCESS (status)) if (!NT_SUCCESS (status))

View File

@ -828,8 +828,8 @@ extern "C"
path->Length - len * sizeof (WCHAR)); path->Length - len * sizeof (WCHAR));
} }
inline inline
BOOLEAN NTAPI RtlEqualPathPrefix (PUNICODE_STRING path, PCWSTR prefix, BOOLEAN NTAPI RtlEqualUnicodePathPrefix (PUNICODE_STRING path, PCWSTR prefix,
BOOLEAN caseinsensitive) BOOLEAN caseinsensitive)
{ {
UNICODE_STRING p, pref; UNICODE_STRING p, pref;
@ -840,8 +840,8 @@ extern "C"
return RtlEqualUnicodeString (&p, &pref, caseinsensitive); return RtlEqualUnicodeString (&p, &pref, caseinsensitive);
} }
inline inline
BOOL NTAPI RtlEqualPathSuffix (PUNICODE_STRING path, PCWSTR suffix, BOOL NTAPI RtlEqualUnicodePathSuffix (PUNICODE_STRING path, PCWSTR suffix,
BOOLEAN caseinsensitive) BOOLEAN caseinsensitive)
{ {
UNICODE_STRING p, suf; UNICODE_STRING p, suf;