From: Kurt Zeilenga Date: Mon, 31 May 1999 20:32:21 +0000 (+0000) Subject: #ifdef out non-reentrant prototypes. X-Git-Tag: OPENLDAP_REL_ENG_2_BP~455 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=322bb86fa47e5abba57fab55d748b00ac8737df2;p=openldap #ifdef out non-reentrant prototypes. Only testavl uses this interface. --- diff --git a/include/avl.h b/include/avl.h index 757931c9b5..58b3d972de 100644 --- a/include/avl.h +++ b/include/avl.h @@ -70,14 +70,10 @@ avl_find LDAP_P((Avlnode *, void*, AVL_CMP)); LDAP_F( void* ) avl_find_lin LDAP_P((Avlnode *, void*, AVL_CMP)); +#ifdef AVL_NONREENTRANT LDAP_F( void* ) avl_getfirst LDAP_P((Avlnode *)); -#ifdef AVL_REENTRANT -/* ??? avl.c does not provide this version ??? */ -LDAP_F( void* ) -avl_getnext LDAP_P((Avlnode *, void* )); -#else LDAP_F( void* ) avl_getnext LDAP_P((void)); #endif diff --git a/libraries/libavl/avl.c b/libraries/libavl/avl.c index c1b1aad6cb..08cd7ed7b7 100644 --- a/libraries/libavl/avl.c +++ b/libraries/libavl/avl.c @@ -664,6 +664,8 @@ avl_find_lin( Avlnode *root, void* data, AVL_CMP fcmp ) return( avl_find_lin( root->avl_right, data, fcmp ) ); } +/* NON-REENTRANT INTERFACE */ + static void* *avl_list; static int avl_maxlist; static int avl_nextlist; @@ -736,6 +738,9 @@ avl_getnext( void ) return( avl_list[ avl_nextlist++ ] ); } +/* end non-reentrant code */ + + int avl_dup_error( void* left, void* right ) { diff --git a/libraries/libavl/testavl.c b/libraries/libavl/testavl.c index 4a9fd6678b..8183e167b3 100644 --- a/libraries/libavl/testavl.c +++ b/libraries/libavl/testavl.c @@ -7,6 +7,7 @@ #include +#define AVL_NONREENTRANT #include "avl.h" static void ravl_print LDAP_P(( Avlnode *root, int depth )); @@ -31,11 +32,16 @@ main( int argc, char **argv ) ( void ) myprint( tree ); break; case 't': /* traverse with first, next */ +#ifdef AVL_NONREENTRANT printf( "***\n" ); for ( p = (char * ) avl_getfirst( tree ); - p != NULL; p = (char *) avl_getnext( /* tree, p */ ) ) + p != NULL; + p = (char *) avl_getnext()) printf( "%s\n", p ); printf( "***\n" ); +#else + printf( "*** reentrant interface not implemented ***" ); +#endif break; case 'f': /* find */ printf( "data? " );