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.c... ============================================================================== --- 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 {