mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-30 12:23:28 +00:00
[RTL]: Makes sure there is a curdir handle.
svn path=/trunk/; revision=52728
This commit is contained in:
+10
-7
@@ -593,14 +593,17 @@ RtlpDosPathNameToRelativeNtPathName_Ustr(IN BOOLEAN HaveRelative,
|
||||
PCURDIR cd;
|
||||
UNICODE_STRING us;
|
||||
cd = (PCURDIR)&(NtCurrentPeb ()->ProcessParameters->CurrentDirectory.DosPath);
|
||||
RtlInitUnicodeString(&us, Buffer);
|
||||
if (RtlEqualUnicodeString(&us, &cd->DosPath, TRUE))
|
||||
if (cd->Handle)
|
||||
{
|
||||
Length = ((cd->DosPath.Length / sizeof(WCHAR)) - PrefixCut) + ((InputPathType == 1) ? 8 : 4);
|
||||
RelativeName->RelativeName.Buffer = NewBuffer + Length;
|
||||
RelativeName->RelativeName.Length = NtName->Length - (Length * sizeof(WCHAR));
|
||||
RelativeName->RelativeName.MaximumLength = RelativeName->RelativeName.Length;
|
||||
RelativeName->ContainingDirectory = cd->Handle;
|
||||
RtlInitUnicodeString(&us, Buffer);
|
||||
if (RtlEqualUnicodeString(&us, &cd->DosPath, TRUE))
|
||||
{
|
||||
Length = ((cd->DosPath.Length / sizeof(WCHAR)) - PrefixCut) + ((InputPathType == 1) ? 8 : 4);
|
||||
RelativeName->RelativeName.Buffer = NewBuffer + Length;
|
||||
RelativeName->RelativeName.Length = NtName->Length - (Length * sizeof(WCHAR));
|
||||
RelativeName->RelativeName.MaximumLength = RelativeName->RelativeName.Length;
|
||||
RelativeName->ContainingDirectory = cd->Handle;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user