Author: pschweitzer
Date: Sat Aug 23 13:55:05 2008
New Revision: 35573
URL:
http://svn.reactos.org/svn/reactos?rev=35573&view=rev
Log:
Take UpcaseTable into account.
FsRtlIsNameInExpression should be rewritten...
Modified:
branches/pierre-fsd/ntoskrnl/fsrtl/name.c
Modified: branches/pierre-fsd/ntoskrnl/fsrtl/name.c
URL:
http://svn.reactos.org/svn/reactos/branches/pierre-fsd/ntoskrnl/fsrtl/name.…
==============================================================================
--- branches/pierre-fsd/ntoskrnl/fsrtl/name.c [iso-8859-1] (original)
+++ branches/pierre-fsd/ntoskrnl/fsrtl/name.c [iso-8859-1] Sat Aug 23 13:55:05 2008
@@ -282,17 +282,24 @@
}
else
{
- /* FIXME: Take UpcaseTable into account! */
- if (Expression->Buffer[ExpressionPosition] == L'?' ||
- (IgnoreCase &&
+ if (Expression->Buffer[ExpressionPosition] == L'?' || (
+ IgnoreCase && !UpcaseTable &&
RtlUpcaseUnicodeChar(Expression->Buffer[ExpressionPosition]) ==
RtlUpcaseUnicodeChar(Name->Buffer[NamePosition])) ||
- (!IgnoreCase &&
- Expression->Buffer[ExpressionPosition] ==
+ (!IgnoreCase && Expression->Buffer[ExpressionPosition] ==
Name->Buffer[NamePosition]))
{
NamePosition++;
ExpressionPosition++;
+ }
+ else if (IgnoreCase && UpcaseTable)
+ {
+ if (UpcaseTable[Expression->Buffer[ExpressionPosition]] ==
+ UpcaseTable[Name->Buffer[NamePosition]])
+ {
+ NamePosition++;
+ ExpressionPosition++;
+ }
}
else
{