[RTL/HEAP]

- Thomas Faber: Use macro instead of manually removing item from the list.
See issue #6016 for more details.

svn path=/trunk/; revision=51119
This commit is contained in:
Aleksey Bragin 2011-03-22 16:27:41 +00:00
parent 64e9e4c196
commit 4fb00286d5

View file

@ -341,18 +341,9 @@ RtlpRemoveFreeBlock(PHEAP Heap,
BOOLEAN NoFill)
{
SIZE_T Result, RealSize;
PLIST_ENTRY OldBlink, OldFlink;
// FIXME: Maybe use RemoveEntryList?
/* Remove the free block */
OldFlink = FreeEntry->FreeList.Flink;
OldBlink = FreeEntry->FreeList.Blink;
OldBlink->Flink = OldFlink;
OldFlink->Blink = OldBlink;
/* Update the freelists bitmap */
if ((OldFlink == OldBlink) &&
/* Remove the free block and update the freelists bitmap */
if (RemoveEntryList(&FreeEntry->FreeList) &&
(Dedicated || (!Dedicated && FreeEntry->Size < HEAP_FREELISTS)))
{
RtlpClearFreeListsBit(Heap, FreeEntry);