diff --git a/magick/splay-tree.c b/magick/splay-tree.c
index 036ff30..08e8118 100644
--- a/magick/splay-tree.c
+++ b/magick/splay-tree.c
@@ -168,15 +168,15 @@
((splay_tree->root->key < key) ? -1 : 0);
if (compare == 0)
{
+ if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
+ (splay_tree->root->value != (void *) NULL))
+ splay_tree->root->value=splay_tree->relinquish_value(
+ splay_tree->root->value);
if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
(splay_tree->root->key != (void *) NULL))
splay_tree->root->key=splay_tree->relinquish_key(
splay_tree->root->key);
splay_tree->root->key=(void *) key;
- if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
- (splay_tree->root->value != (void *) NULL))
- splay_tree->root->value=splay_tree->relinquish_value(
- splay_tree->root->value);
splay_tree->root->value=(void *) value;
UnlockSemaphoreInfo(splay_tree->semaphore);
return(MagickTrue);
@@ -538,14 +538,14 @@
}
left=splay_tree->root->left;
right=splay_tree->root->right;
- if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
- (splay_tree->root->key != (void *) NULL))
- splay_tree->root->key=splay_tree->relinquish_key(
- splay_tree->root->key);
if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
(splay_tree->root->value != (void *) NULL))
splay_tree->root->value=splay_tree->relinquish_value(
splay_tree->root->value);
+ if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
+ (splay_tree->root->key != (void *) NULL))
+ splay_tree->root->key=splay_tree->relinquish_key(
+ splay_tree->root->key);
splay_tree->root=(NodeInfo *) RelinquishMagickMemory(splay_tree->root);
splay_tree->nodes--;
if (left == (NodeInfo *) NULL)
@@ -685,14 +685,14 @@
LockSemaphoreInfo(splay_tree->semaphore);
if (splay_tree->root != (NodeInfo *) NULL)
{
- if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
- (splay_tree->root->key != (void *) NULL))
- splay_tree->root->key=splay_tree->relinquish_key(splay_tree->root->key);
- splay_tree->root->key=(void *) NULL;
if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
(splay_tree->root->value != (void *) NULL))
splay_tree->root->value=splay_tree->relinquish_value(
splay_tree->root->value);
+ if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
+ (splay_tree->root->key != (void *) NULL))
+ splay_tree->root->key=splay_tree->relinquish_key(splay_tree->root->key);
+ splay_tree->root->key=(void *) NULL;
for (pend=splay_tree->root; pend != (NodeInfo *) NULL; )
{
active=pend;
@@ -700,27 +700,27 @@
{
if (active->left != (NodeInfo *) NULL)
{
- if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
- (active->left->key != (void *) NULL))
- active->left->key=splay_tree->relinquish_key(active->left->key);
- active->left->key=(void *) pend;
if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
(active->left->value != (void *) NULL))
active->left->value=splay_tree->relinquish_value(
active->left->value);
+ if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
+ (active->left->key != (void *) NULL))
+ active->left->key=splay_tree->relinquish_key(active->left->key);
+ active->left->key=(void *) pend;
pend=active->left;
}
if (active->right != (NodeInfo *) NULL)
{
+ if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
+ (active->right->value != (void *) NULL))
+ active->right->value=splay_tree->relinquish_value(
+ active->right->value);
if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
(active->right->key != (void *) NULL))
active->right->key=splay_tree->relinquish_key(
active->right->key);
active->right->key=(void *) pend;
- if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
- (active->right->value != (void *) NULL))
- active->right->value=splay_tree->relinquish_value(
- active->right->value);
pend=active->right;
}
node=active;
@@ -1348,14 +1348,14 @@
LockSemaphoreInfo(splay_tree->semaphore);
if (splay_tree->root != (NodeInfo *) NULL)
{
- if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
- (splay_tree->root->key != (void *) NULL))
- splay_tree->root->key=splay_tree->relinquish_key(splay_tree->root->key);
- splay_tree->root->key=(void *) NULL;
if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
(splay_tree->root->value != (void *) NULL))
splay_tree->root->value=splay_tree->relinquish_value(
splay_tree->root->value);
+ if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
+ (splay_tree->root->key != (void *) NULL))
+ splay_tree->root->key=splay_tree->relinquish_key(splay_tree->root->key);
+ splay_tree->root->key=(void *) NULL;
for (pend=splay_tree->root; pend != (NodeInfo *) NULL; )
{
active=pend;
@@ -1363,27 +1363,27 @@
{
if (active->left != (NodeInfo *) NULL)
{
- if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
- (active->left->key != (void *) NULL))
- active->left->key=splay_tree->relinquish_key(active->left->key);
- active->left->key=(void *) pend;
if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
(active->left->value != (void *) NULL))
active->left->value=splay_tree->relinquish_value(
active->left->value);
+ if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
+ (active->left->key != (void *) NULL))
+ active->left->key=splay_tree->relinquish_key(active->left->key);
+ active->left->key=(void *) pend;
pend=active->left;
}
if (active->right != (NodeInfo *) NULL)
{
+ if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
+ (active->right->value != (void *) NULL))
+ active->right->value=splay_tree->relinquish_value(
+ active->right->value);
if ((splay_tree->relinquish_key != (void *(*)(void *)) NULL) &&
(active->right->key != (void *) NULL))
active->right->key=splay_tree->relinquish_key(
active->right->key);
active->right->key=(void *) pend;
- if ((splay_tree->relinquish_value != (void *(*)(void *)) NULL) &&
- (active->right->value != (void *) NULL))
- active->right->value=splay_tree->relinquish_value(
- active->right->value);
pend=active->right;
}
node=active;