]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/delete.c
Fix previous commit
[openldap] / servers / slapd / delete.c
index 5fd4f7f55d48c8bb25894e6374ef7d7925936ce5..5f808303aded0bc0c33fc336e0dfd3dae4a65ad6 100644 (file)
@@ -1,6 +1,6 @@
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 /*
@@ -52,7 +52,7 @@ do_delete(
         *      DelRequest := DistinguishedName
         */
 
-       if ( ber_scanf( op->o_ber, "o", &dn ) == LBER_ERROR ) {
+       if ( ber_scanf( op->o_ber, "m", &dn ) == LBER_ERROR ) {
 #ifdef NEW_LOGGING
                LDAP_LOG(( "operation", LDAP_LEVEL_ERR,
                        "do_delete: conn: %d  ber_scanf failed\n", conn->c_connid ));
@@ -129,13 +129,13 @@ do_delete(
         * if we don't hold it.
         */
        if ( (be = select_backend( &ndn, manageDSAit, 0 )) == NULL ) {
-               struct berval **ref = referral_rewrite( default_referral,
+               BerVarray ref = referral_rewrite( default_referral,
                        NULL, &pdn, LDAP_SCOPE_DEFAULT );
 
                send_ldap_result( conn, op, rc = LDAP_REFERRAL,
                        NULL, NULL, ref ? ref : default_referral, NULL );
 
-               ber_bvecfree( ref );
+               ber_bvarray_free( ref );
                goto cleanup;
        }
 
@@ -179,15 +179,15 @@ do_delete(
                        }
 #ifndef SLAPD_MULTIMASTER
                } else {
-                       struct berval **defref = be->be_update_refs
+                       BerVarray defref = be->be_update_refs
                                ? be->be_update_refs : default_referral;
-                       struct berval **ref = referral_rewrite( default_referral,
+                       BerVarray ref = referral_rewrite( default_referral,
                                NULL, &pdn, LDAP_SCOPE_DEFAULT );
 
                        send_ldap_result( conn, op, rc = LDAP_REFERRAL, NULL, NULL,
                                ref ? ref : defref, NULL );
 
-                       ber_bvecfree( ref );
+                       ber_bvarray_free( ref );
 #endif
                }
 
@@ -197,8 +197,7 @@ do_delete(
        }
 
 cleanup:
-       free( dn.bv_val );
-       if( pdn.bv_val != NULL ) ber_bvfree( pdn.bv_val );
-       if( ndn.bv_val != NULL ) ber_bvfree( ndn.bv_val );
+       free( pdn.bv_val );
+       free( ndn.bv_val );
        return rc;
 }