]> git.sur5r.net Git - openldap/commitdiff
Call node_find_cmp() with (void *)&ulong instead of (void *)ulong.
authorHallvard Furuseth <hallvard@openldap.org>
Sat, 14 Dec 2002 21:01:08 +0000 (21:01 +0000)
committerHallvard Furuseth <hallvard@openldap.org>
Sat, 14 Dec 2002 21:01:08 +0000 (21:01 +0000)
The old code assumed sizeof(long) == sizeof(void *), among other things.

servers/slapd/back-bdb/dn2id.c

index 70bca2b43ea6ef243af2043d3ac67addef77a8ab..eb3600c9406ba1c60bd139774617271ce969b7a6 100644 (file)
@@ -613,11 +613,11 @@ typedef struct idNode {
  */
 static int
 node_find_cmp(
-       ID id,
-       idNode *n
+       const void *id,
+       const void *node
 )
 {
-       return id - n->i_id;
+       return *(const ID *)id - ((const idNode *)node)->i_id;
 }
 
 static int
@@ -653,7 +653,7 @@ idNode * bdb_find_id_node(
        Avlnode *tree
 )
 {
-       return avl_find(tree, (const void *)id, (AVL_CMP)node_find_cmp);
+       return avl_find(tree, &id, node_find_cmp);
 }
 
 idNode * bdb_find_rdn_node(
@@ -876,7 +876,7 @@ bdb_dn2id_delete(
        rc = db->del( db, txn, &key, 0);
 
        ldap_pvt_thread_rdwr_wlock(&bdb->bi_tree_rdwr);
-       n = avl_delete(&bdb->bi_tree, (void *)e->e_id, (AVL_CMP)node_find_cmp);
+       n = avl_delete(&bdb->bi_tree, &e->e_id, node_find_cmp);
        if (n) {
                if (n->i_parent) {
                        ldap_pvt_thread_rdwr_wlock(&n->i_parent->i_kids_rdwr);