(barely) hide AVL internals

This commit is contained in:
Kurt Zeilenga 1999-05-31 20:40:42 +00:00
parent 322bb86fa4
commit f704f1c475
3 changed files with 10 additions and 4 deletions

View File

@ -32,12 +32,15 @@
LDAP_BEGIN_DECL
typedef struct avlnode {
typedef struct avlnode Avlnode;
#ifdef AVL_INTERNAL
struct avlnode {
void* avl_data;
signed char avl_bf;
struct avlnode *avl_left;
struct avlnode *avl_right;
} Avlnode;
};
#define NULLAVL ((Avlnode *) NULL)
@ -45,6 +48,7 @@ typedef struct avlnode {
#define LH (-1)
#define EH 0
#define RH 1
#endif
/* avl routines */
#define avl_getone(x) ((x) == 0 ? 0 : (x)->avl_data)

View File

@ -21,6 +21,7 @@ static char avl_version[] = "AVL library version 1.0\n";
#include <stdio.h>
#include <stdlib.h>
#define AVL_INTERNAL
#include "avl.h"
#define ROTATERIGHT(x) { \

View File

@ -7,6 +7,7 @@
#include <ac/string.h>
#define AVL_INTERNAL
#define AVL_NONREENTRANT
#include "avl.h"
@ -16,7 +17,7 @@ static void myprint LDAP_P(( Avlnode *root ));
int
main( int argc, char **argv )
{
Avlnode *tree = NULLAVL;
Avlnode *tree = NULL;
char command[ 10 ];
char name[ 80 ];
char *p;
@ -26,7 +27,7 @@ main( int argc, char **argv )
switch( *command ) {
case 'n': /* new tree */
( void ) avl_free( tree, (AVL_FREE) free );
tree = NULLAVL;
tree = NULL;
break;
case 'p': /* print */
( void ) myprint( tree );