]> git.sur5r.net Git - openldap/commitdiff
(barely) hide AVL internals
authorKurt Zeilenga <kurt@openldap.org>
Mon, 31 May 1999 20:40:42 +0000 (20:40 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 31 May 1999 20:40:42 +0000 (20:40 +0000)
include/avl.h
libraries/libavl/avl.c
libraries/libavl/testavl.c

index 58b3d972dec206eddb27c9fbd02ca0e19263cc9e..aa9f58f66f23e3952791411640a83afb06746b81 100644 (file)
 
 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)
index 08cd7ed7b7b939390c74d9ca2b6a4c91976fda97..adce228dd7a1ec7dc3bd6201c584e3e827a7d632 100644 (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) { \
index 8183e167b3e028d1fc44ce0e3e0d743b0ce0045f..3b927d98072f96efaae967641acdcc0271b6c18f 100644 (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 );