fix a bug when deleting node and CHILDREN_PER_NODE is even

git-svn-id: https://svn.musicpd.org/mpd/trunk@4508 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2006-08-01 03:34:56 +00:00
parent 42390c5e3b
commit 4ff98a9a94

View File

@ -433,7 +433,7 @@ _DeleteAt(TreeIterator * iter)
node->data[--node->dataCount] = NULL;
// merge the nodes from the bottom up which have too few data
while (node->dataCount < (CHILDREN_PER_NODE/2))
while (node->dataCount < (DATA_PER_NODE/2))
{
// if we're not the root
if (node->parent)
@ -443,7 +443,7 @@ _DeleteAt(TreeIterator * iter)
// check siblings for extra data
if (pos < node->parent->dataCount &&
(*(child+1))->dataCount > (CHILDREN_PER_NODE/2))
(*(child+1))->dataCount > (DATA_PER_NODE/2))
{
child++;
node->data[node->dataCount++] =
@ -470,7 +470,7 @@ _DeleteAt(TreeIterator * iter)
(*child)->dataCount--;
}
else if (pos > 0 &&
(*(child-1))->dataCount>(CHILDREN_PER_NODE/2))
(*(child-1))->dataCount>(DATA_PER_NODE/2))
{
child--;
int i = node->dataCount++;