]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/alias.c
Add search no-op support.
[openldap] / servers / slapd / back-ldbm / alias.c
index 49f8da8e91d430ccb371fd424f7fcb6cb55fa284..206bf66ce8ef4a6b2949613852f235b7affec64f 100644 (file)
@@ -27,7 +27,7 @@ static void new_superior(
        struct berval *res );
 
 static int dnlist_subordinate(
-       BVarray dnlist,
+       BerVarray dnlist,
        struct berval *dn );
 
 Entry *deref_internal_r(
@@ -43,7 +43,7 @@ Entry *deref_internal_r(
        Entry *entry;
        Entry *sup;
        unsigned depth;
-       BVarray dnlist;
+       BerVarray dnlist;
 
        assert( ( alias != NULL && dn_in == NULL )
                || ( alias == NULL && dn_in != NULL ) );
@@ -63,7 +63,7 @@ Entry *deref_internal_r(
        }
 
        dnlist = NULL;
-       bvarray_add( &dnlist, &dn );
+       ber_bvarray_add( &dnlist, &dn );
 
        for( depth=0 ; ; depth++ ) {
                if( entry != NULL ) {
@@ -109,11 +109,10 @@ Entry *deref_internal_r(
                        ch_free( aliasDN.bv_val );
 
                        if( newe != NULL ) {
-                               free( dn.bv_val );
                                cache_return_entry_r(&li->li_cache, entry );
                                entry = newe;
                                ber_dupbv( &dn, &entry->e_nname );
-                               bvarray_add( &dnlist, &dn );
+                               ber_bvarray_add( &dnlist, &dn );
                                continue;
                        }
                        
@@ -173,16 +172,14 @@ Entry *deref_internal_r(
 
                        if( newe != NULL ) {
                                free(aliasDN.bv_val);
-                               free( dn.bv_val );
                                cache_return_entry_r(&li->li_cache, sup );
                                entry = newe;
                                ber_dupbv( &dn, &entry->e_nname );
-                               bvarray_add( &dnlist, &dn );
+                               ber_bvarray_add( &dnlist, &dn );
                                continue;
                        }
                        
                        if ( newSup != NULL ) {
-                               free( dn.bv_val );
                                cache_return_entry_r(&li->li_cache, sup );
                                sup = newSup;
                                ber_dupbv( &dn, &aliasDN );
@@ -197,8 +194,7 @@ Entry *deref_internal_r(
                }
        }
 
-       free( dn.bv_val );
-       bvarray_free( dnlist );
+       ber_bvarray_free( dnlist );
        return entry;
 }
 
@@ -276,7 +272,7 @@ static void new_superior(
 }
 
 static int dnlist_subordinate(
-       BVarray dnlist,
+       BerVarray dnlist,
        struct berval *dn )
 {
        assert( dnlist );