* check for abandon
*/
if (op->o_abandon) {
- op->o_req_dn = dn;
- op->o_req_ndn = ndn;
- goto done;
+ goto end_of_loop;
}
op->o_bd = gi->n[i].be;
break;
}
- op->o_callback = cb.sc_next;
- rs->sr_err = gs.err;
- rs->sr_matched = gs.matched;
- rs->sr_ref = gs.refs;
+ if ( !op->o_abandon ) {
+ op->o_callback = cb.sc_next;
+ rs->sr_err = gs.err;
+ rs->sr_matched = gs.matched;
+ rs->sr_ref = gs.refs;
- send_ldap_result( op, rs );
+ send_ldap_result( op, rs );
+ }
-done:
op->o_bd = b0;
if (gs.matched)
free (gs.matched);