https://git.reactos.org/?p=reactos.git;a=commitdiff;h=04c851194c0179010b81d3...
commit 04c851194c0179010b81d367658e5022cf1095c3 Author: Andrew Boyarshin andrew.boyarshin@gmail.com AuthorDate: Mon Nov 26 19:50:40 2018 +0700 Commit: Mark Jansen mark.jansen@reactos.org CommitDate: Sat Jan 5 13:33:28 2019 +0100
[NTDLL][RTL] Implement RtlGetFullPathName_UEx --- sdk/lib/rtl/path.c | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-)
diff --git a/sdk/lib/rtl/path.c b/sdk/lib/rtl/path.c index 7639424d0a..4ac9ba78aa 100644 --- a/sdk/lib/rtl/path.c +++ b/sdk/lib/rtl/path.c @@ -1672,6 +1672,37 @@ Leave: return Status; }
+/* + * @implemented + */ +ULONG +NTAPI +RtlGetFullPathName_UEx( + _In_ PWSTR FileName, + _In_ ULONG BufferLength, + _Out_writes_bytes_(BufferLength) PWSTR Buffer, + _Out_opt_ PWSTR *FilePart, + _Out_opt_ RTL_PATH_TYPE *InputPathType) +{ + UNICODE_STRING FileNameString; + NTSTATUS status; + + if (InputPathType) + *InputPathType = 0; + + /* Build the string */ + status = RtlInitUnicodeStringEx(&FileNameString, FileName); + if (!NT_SUCCESS(status)) return 0; + + /* Call the extended function */ + return RtlGetFullPathName_Ustr( + &FileNameString, + BufferLength, + Buffer, + (PCWSTR*)FilePart, + NULL, + InputPathType); +}
/****************************************************************** * RtlGetFullPathName_U (NTDLL.@) @@ -1697,20 +1728,13 @@ RtlGetFullPathName_U( _Out_z_bytecap_(Size) PWSTR Buffer, _Out_opt_ PWSTR *ShortName) { - NTSTATUS Status; - UNICODE_STRING FileNameString; RTL_PATH_TYPE PathType;
- /* Build the string */ - Status = RtlInitUnicodeStringEx(&FileNameString, FileName); - if (!NT_SUCCESS(Status)) return 0; - /* Call the extended function */ - return RtlGetFullPathName_Ustr(&FileNameString, + return RtlGetFullPathName_UEx((PWSTR)FileName, Size, Buffer, - (PCWSTR*)ShortName, - NULL, + ShortName, &PathType); }