]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/abandon.c
ITS#2368 - fix deleting key from range IDL
[openldap] / servers / slapd / abandon.c
index 5f2ac082757636ab8c8896da33eeba2fe1ab8976..447a4e7f61a777970b5a30f88e91941a0f6797a6 100644 (file)
@@ -1,7 +1,7 @@
 /* abandon.c - decode and handle an ldap abandon operation */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -33,9 +33,7 @@ do_abandon(
        ber_int_t       id;
        Operation       *o;
        int             rc;
-#ifdef LDAP_CLIENT_UPDATE
        int             i;
-#endif
 
 #ifdef NEW_LOGGING
        LDAP_LOG( OPERATION, ENTRY, "conn: %d do_abandon\n", conn->c_connid, 0, 0);
@@ -109,14 +107,11 @@ do_abandon(
 
 done:
 
-#if LDAP_CLIENT_UPDATE
        for ( i = 0; i < nbackends; i++ ) {
-               if ( strncmp( backends[i].be_type, "bdb", 3 ) ) continue;
-               if ( bdb_abandon( &backends[i], conn, id ) == LDAP_SUCCESS ) {
-                       break;
-               }
+               Backend *be = &backends[i];
+
+               if( be->be_abandon ) be->be_abandon( be, conn, op, id );
        }
-#endif
 
        ldap_pvt_thread_mutex_unlock( &conn->c_mutex );