- Implement PFX_NTC_CASE_MATCH deletions in RtlRemoveUnicodePrefix
authorAlex Ionescu <aionescu@gmail.com>
Mon, 7 Nov 2005 04:23:28 +0000 (04:23 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Mon, 7 Nov 2005 04:23:28 +0000 (04:23 +0000)
svn path=/trunk/; revision=19034

reactos/lib/rtl/unicodeprefix.c

index cb5b503..aca6c25 100644 (file)
@@ -175,7 +175,28 @@ NTAPI
 RtlRemoveUnicodePrefix(PUNICODE_PREFIX_TABLE PrefixTable,
                        PUNICODE_PREFIX_TABLE_ENTRY PrefixTableEntry)
 {
-       UNIMPLEMENTED;
+    PUNICODE_PREFIX_TABLE_ENTRY Entry;
+
+    /* Erase the last entry */
+    PrefixTable->LastNextEntry = NULL;
+
+    /* Check if this was a Case Match Entry */
+    if (PrefixTableEntry->NodeTypeCode == PFX_NTC_CASE_MATCH)
+    {
+        /* Get the case match entry */
+        Entry = PrefixTableEntry->CaseMatch;
+
+        /* Now loop until we find the one matching what the caller sent */
+        while (Entry->CaseMatch != PrefixTableEntry) Entry = Entry->CaseMatch;
+
+        /* We found the entry that was sent, link them to delete this entry */
+        Entry->CaseMatch = PrefixTableEntry->CaseMatch;
+    }
+    else if ((PrefixTableEntry->NodeTypeCode == PFX_NTC_ROOT) ||
+            (PrefixTableEntry->NodeTypeCode == PFX_NTC_CHILD))
+    {
+        /* FIXME */
+    }
 }
 
 /* EOF */