From d42436c44acd58bbe4e2023155a04e8b78fcce7d Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Mon, 7 Nov 2005 04:23:28 +0000 Subject: [PATCH] - Implement PFX_NTC_CASE_MATCH deletions in RtlRemoveUnicodePrefix svn path=/trunk/; revision=19034 --- reactos/lib/rtl/unicodeprefix.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/reactos/lib/rtl/unicodeprefix.c b/reactos/lib/rtl/unicodeprefix.c index cb5b5036ce1..aca6c25314f 100644 --- a/reactos/lib/rtl/unicodeprefix.c +++ b/reactos/lib/rtl/unicodeprefix.c @@ -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 */