mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 06:02:59 +00:00
[NTOSKRNL]
Fixed FsRtlIsNameInExpression() according to r50018 tests svn path=/trunk/; revision=50019
This commit is contained in:
parent
94b828f1a4
commit
ffd29f0aa3
1 changed files with 39 additions and 41 deletions
|
@ -31,7 +31,7 @@ FsRtlIsNameInExpressionPrivate(IN PUNICODE_STRING Expression,
|
|||
{
|
||||
if ((Expression->Buffer[k] == (IgnoreCase ? UpcaseTable[Name->Buffer[i]] : Name->Buffer[i])) ||
|
||||
(Expression->Buffer[k] == L'?') || (Expression->Buffer[k] == DOS_QM) ||
|
||||
(Expression->Buffer[k] == DOS_DOT && (Name->Buffer[i] == L'.' || Name->Buffer[i] == L'0')))
|
||||
(Expression->Buffer[k] == DOS_DOT && Name->Buffer[i] == L'.'))
|
||||
{
|
||||
i++;
|
||||
k++;
|
||||
|
@ -47,13 +47,6 @@ FsRtlIsNameInExpressionPrivate(IN PUNICODE_STRING Expression,
|
|||
while ((IgnoreCase ? UpcaseTable[Name->Buffer[i]] : Name->Buffer[i]) != Expression->Buffer[k+1] &&
|
||||
i < Name->Length / sizeof(WCHAR)) i++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(Expression->Buffer[k+1] != DOS_DOT && (Name->Buffer[i] == L'.' || Name->Buffer[i] == L'0')))
|
||||
{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -79,6 +72,11 @@ FsRtlIsNameInExpressionPrivate(IN PUNICODE_STRING Expression,
|
|||
i = Name->Length / sizeof(WCHAR);
|
||||
}
|
||||
}
|
||||
if (k + 1 == Expression->Length / sizeof(WCHAR) && i == Name->Length / sizeof(WCHAR) &&
|
||||
Expression->Buffer[k] == DOS_DOT)
|
||||
{
|
||||
k++;
|
||||
}
|
||||
|
||||
return (k == Expression->Length / sizeof(WCHAR) && i == Name->Length / sizeof(WCHAR));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue