Skip to content

Commit

Permalink
[nes]: LIB changes ...
Browse files Browse the repository at this point in the history
  • Loading branch information
nes-repo committed Feb 2, 2015
1 parent 78a2f0b commit 5d73486
Showing 1 changed file with 43 additions and 2 deletions.
45 changes: 43 additions & 2 deletions lib/freeRange.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,51 @@ xFreeRange_allocateIndex (

bool
xFreeRange_removeIndex (
xFreeRange_t *poFreeRange,
xFreeRange_t *poRange,
uint32_t u32Index)
{
return false;
register bool bRetCode = false;
register xBTree_Node_t *poNode = NULL;
register xFreeRange_Entry_t *poEntry = NULL;

xBTree_scan (poNode, poRange)
{
poEntry = xGetParentByMemberPtr (poNode, xFreeRange_Entry_t, oBTreeNode);

if (poEntry->u32Start == u32Index + 1 || u32Index - 1 == poEntry->u32End)
{
bRetCode = true;
break;
}
}


if (bRetCode)
{
bRetCode = false;

if (u32Index - 1 == poEntry->u32End)
{
poEntry->u32End++;
goto xFreeRange_removeIndex_success;
}

xBTree_nodeRemove (&poEntry->oBTreeNode, poRange);
poEntry->u32Start++;
xBTree_nodeAdd (&poEntry->oBTreeNode, poRange);
}
else if (!xFreeRange_createRange (poRange, u32Index, u32Index))
{
goto xFreeRange_removeIndex_cleanup;
}

xFreeRange_removeIndex_success:

bRetCode = true;

xFreeRange_removeIndex_cleanup:

return bRetCode;
}

bool
Expand Down

0 comments on commit 5d73486

Please sign in to comment.