X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibavl%2Favl.c;h=bd0ede4d66b1cb2c6a52aea333e4024cd8a32f29;hb=c1a257a83f3d8b9565238b5f9b8cad39a6194f63;hp=e4b2b1be444111e3c7d97cb7412ca1602c1c026c;hpb=21c70857f1029309d6bc5a5b6a93d7537494b742;p=openldap diff --git a/libraries/libavl/avl.c b/libraries/libavl/avl.c index e4b2b1be44..bd0ede4d66 100644 --- a/libraries/libavl/avl.c +++ b/libraries/libavl/avl.c @@ -1,4 +1,9 @@ /* avl.c - routines to implement an avl tree */ +/* $OpenLDAP$ */ +/* + * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. + * COPYING RESTRICTIONS APPLY, see COPYRIGHT file + */ /* * Copyright (c) 1993 Regents of the University of Michigan. * All rights reserved. @@ -13,21 +18,23 @@ #include "portable.h" -#ifndef lint -static char copyright[] = "@(#) Copyright (c) 1993 Regents of the University of Michigan.\nAll rights reserved.\n"; -static char avl_version[] = "AVL library version 1.0\n"; -#endif - #include #include +#ifdef CSRIMALLOC +#define ber_memalloc malloc +#define ber_memrealloc realloc +#else +#include "lber.h" +#endif + #define AVL_INTERNAL #include "avl.h" #define ROTATERIGHT(x) { \ Avlnode *tmp;\ if ( *(x) == NULL || (*(x))->avl_left == NULL ) {\ - (void) fputs("RR error\n", stderr); exit(1); \ + (void) fputs("RR error\n", stderr); exit( EXIT_FAILURE ); \ }\ tmp = (*(x))->avl_left;\ (*(x))->avl_left = tmp->avl_right;\ @@ -37,7 +44,7 @@ static char avl_version[] = "AVL library version 1.0\n"; #define ROTATELEFT(x) { \ Avlnode *tmp;\ if ( *(x) == NULL || (*(x))->avl_right == NULL ) {\ - (void) fputs("RL error\n", stderr); exit(1); \ + (void) fputs("RL error\n", stderr); exit( EXIT_FAILURE ); \ }\ tmp = (*(x))->avl_right;\ (*(x))->avl_right = tmp->avl_left;\ @@ -64,7 +71,7 @@ ravl_insert( Avlnode *l, *r; if ( *iroot == 0 ) { - if ( (*iroot = (Avlnode *) malloc( sizeof( Avlnode ) )) + if ( (*iroot = (Avlnode *) ber_memalloc( sizeof( Avlnode ) )) == NULL ) { return( -1 ); } @@ -622,7 +629,7 @@ avl_free( Avlnode *root, AVL_FREE dfree ) */ void* -avl_find( Avlnode *root, void* data, AVL_CMP fcmp ) +avl_find( Avlnode *root, const void* data, AVL_CMP fcmp ) { int cmp; @@ -644,7 +651,7 @@ avl_find( Avlnode *root, void* data, AVL_CMP fcmp ) */ void* -avl_find_lin( Avlnode *root, void* data, AVL_CMP fcmp ) +avl_find_lin( Avlnode *root, const void* data, AVL_CMP fcmp ) { void* res; @@ -680,12 +687,12 @@ avl_buildlist( void* data, void* arg ) static int slots; if ( avl_list == (void* *) 0 ) { - avl_list = (void* *) malloc(AVL_GRABSIZE * sizeof(void*)); + avl_list = (void* *) ber_memalloc(AVL_GRABSIZE * sizeof(void*)); slots = AVL_GRABSIZE; avl_maxlist = 0; } else if ( avl_maxlist == slots ) { slots += AVL_GRABSIZE; - avl_list = (void* *) realloc( (char *) avl_list, + avl_list = (void* *) ber_memrealloc( (char *) avl_list, (unsigned) slots * sizeof(void*)); }