[NTOSKRNL]

- Add missing PAGED_CODE() where needed
- Removed a wrong ASSERT in FsRtlIsNameInExpressionPrivate() and replace it by the right one
- Mark FsRtlIsDbcsInExpression() as halfplemented

svn path=/trunk/; revision=49711
This commit is contained in:
Pierre Schweitzer 2010-11-22 21:38:23 +00:00
parent 9b693d8c69
commit 4f335ab6b0
2 changed files with 14 additions and 3 deletions

View file

@ -48,6 +48,7 @@ FsRtlDissectDbcs(IN ANSI_STRING Name,
{ {
ULONG FirstPosition, i; ULONG FirstPosition, i;
ULONG SkipFirstSlash = 0; ULONG SkipFirstSlash = 0;
PAGED_CODE();
/* Zero the strings before continuing */ /* Zero the strings before continuing */
RtlZeroMemory(FirstPart, sizeof(ANSI_STRING)); RtlZeroMemory(FirstPart, sizeof(ANSI_STRING));
@ -116,6 +117,7 @@ NTAPI
FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name) FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name)
{ {
ULONG i; ULONG i;
PAGED_CODE();
/* Check every character */ /* Check every character */
for (i = 0; i < Name->Length; i++) for (i = 0; i < Name->Length; i++)
@ -138,7 +140,7 @@ FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name)
/*++ /*++
* @name FsRtlIsDbcsInExpression * @name FsRtlIsDbcsInExpression
* @implemented * @halfplemented
* *
* Check if the Name string is in the Expression string. * Check if the Name string is in the Expression string.
* *
@ -150,7 +152,7 @@ FsRtlDoesDbcsContainWildCards(IN PANSI_STRING Name)
* *
* @return TRUE if Name is found in Expression, FALSE otherwise * @return TRUE if Name is found in Expression, FALSE otherwise
* *
* @remarks None * @remarks Implementation should be fixed to handle wildcards
* *
*--*/ *--*/
BOOLEAN BOOLEAN
@ -159,7 +161,10 @@ FsRtlIsDbcsInExpression(IN PANSI_STRING Expression,
IN PANSI_STRING Name) IN PANSI_STRING Name)
{ {
ULONG ExpressionPosition, NamePosition, MatchingChars = 0; ULONG ExpressionPosition, NamePosition, MatchingChars = 0;
PAGED_CODE();
ASSERT(Name->Length);
ASSERT(Expression->Length);
ASSERT(!FsRtlDoesDbcsContainWildCards(Name)); ASSERT(!FsRtlDoesDbcsContainWildCards(Name));
/* One can't be null, both can be */ /* One can't be null, both can be */
@ -242,6 +247,7 @@ FsRtlIsFatDbcsLegal(IN ANSI_STRING DbcsName,
ANSI_STRING FirstPart, RemainingPart, Name; ANSI_STRING FirstPart, RemainingPart, Name;
BOOLEAN LastDot; BOOLEAN LastDot;
ULONG i; ULONG i;
PAGED_CODE();
/* Just quit if the string is empty */ /* Just quit if the string is empty */
if (!DbcsName.Length) if (!DbcsName.Length)
@ -378,6 +384,7 @@ FsRtlIsHpfsDbcsLegal(IN ANSI_STRING DbcsName,
{ {
ANSI_STRING FirstPart, RemainingPart, Name; ANSI_STRING FirstPart, RemainingPart, Name;
ULONG i; ULONG i;
PAGED_CODE();
/* Just quit if the string is empty */ /* Just quit if the string is empty */
if (!DbcsName.Length) if (!DbcsName.Length)

View file

@ -23,8 +23,9 @@ FsRtlIsNameInExpressionPrivate(IN PUNICODE_STRING Expression,
IN PWCHAR UpcaseTable OPTIONAL) IN PWCHAR UpcaseTable OPTIONAL)
{ {
ULONG i = 0, j, k = 0; ULONG i = 0, j, k = 0;
PAGED_CODE();
ASSERT(!FsRtlDoesNameContainWildCards(Name)); ASSERT(!IgnoreCase || UpcaseTable);
while (i < Name->Length / sizeof(WCHAR) && k < Expression->Length / sizeof(WCHAR)) while (i < Name->Length / sizeof(WCHAR) && k < Expression->Length / sizeof(WCHAR))
{ {
@ -119,6 +120,7 @@ FsRtlAreNamesEqual(IN PCUNICODE_STRING Name1,
BOOLEAN StringsAreEqual, MemoryAllocated = FALSE; BOOLEAN StringsAreEqual, MemoryAllocated = FALSE;
ULONG i; ULONG i;
NTSTATUS Status; NTSTATUS Status;
PAGED_CODE();
/* Well, first check their size */ /* Well, first check their size */
if (Name1->Length != Name2->Length) return FALSE; if (Name1->Length != Name2->Length) return FALSE;
@ -210,6 +212,7 @@ FsRtlDissectName(IN UNICODE_STRING Name,
{ {
ULONG FirstPosition, i; ULONG FirstPosition, i;
ULONG SkipFirstSlash = 0; ULONG SkipFirstSlash = 0;
PAGED_CODE();
/* Zero the strings before continuing */ /* Zero the strings before continuing */
RtlZeroMemory(FirstPart, sizeof(UNICODE_STRING)); RtlZeroMemory(FirstPart, sizeof(UNICODE_STRING));
@ -272,6 +275,7 @@ NTAPI
FsRtlDoesNameContainWildCards(IN PUNICODE_STRING Name) FsRtlDoesNameContainWildCards(IN PUNICODE_STRING Name)
{ {
PWCHAR Ptr; PWCHAR Ptr;
PAGED_CODE();
/* Loop through every character */ /* Loop through every character */
if (Name->Length) if (Name->Length)