From: Howard Chu Date: Mon, 24 Jan 2005 03:39:56 +0000 (+0000) Subject: Restore avl_find code independent of avl_find2 X-Git-Tag: OPENLDAP_REL_ENG_2_3_BP~272 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8fd686ada0a629c0d6633e458ad299f9aac6711d;p=openldap Restore avl_find code independent of avl_find2 --- diff --git a/libraries/liblutil/avl.c b/libraries/liblutil/avl.c index ad2918d557..279ff7f3eb 100644 --- a/libraries/liblutil/avl.c +++ b/libraries/liblutil/avl.c @@ -661,7 +661,14 @@ avl_find2( Avlnode *root, const void *data, AVL_CMP fcmp ) void* avl_find( Avlnode *root, const void* data, AVL_CMP fcmp ) { - root = avl_find2( root, data, fcmp ); + int cmp; + + while ( root != 0 && (cmp = (*fcmp)( data, root->avl_data )) != 0 ) { + if ( cmp < 0 ) + root = root->avl_left; + else + root = root->avl_right; + } return( root ? root->avl_data : 0 ); }