for ( sc_next = op->o_callback; sc_next; op->o_callback = sc_next) {
sc_next = op->o_callback->sc_next;
if ( op->o_callback->sc_response ) {
+ slap_callback *sc2 = op->o_callback;
rc = op->o_callback->sc_response( op, rs );
- if ( op->o_callback != *sc_prev ) {
+ if ( op->o_callback != sc2 ) {
*sc_prev = op->o_callback;
}
if ( rc != SLAP_CB_CONTINUE || !op->o_callback ) break;
+ if ( op->o_callback != sc2 ) continue;
}
sc_prev = &op->o_callback->sc_next;
}
for ( sc_next = op->o_callback; sc_next; op->o_callback = sc_next) {
sc_next = op->o_callback->sc_next;
if ( op->o_callback->sc_cleanup ) {
+ slap_callback *sc2 = op->o_callback;
(void)op->o_callback->sc_cleanup( op, rs );
- if ( op->o_callback != *sc_prev ) {
+ if ( op->o_callback != sc2 ) {
*sc_prev = op->o_callback;
}
if ( !op->o_callback ) break;
+ if ( op->o_callback != sc2 ) continue;
}
sc_prev = &op->o_callback->sc_next;
}
{
sc_next = op->o_callback->sc_next;
if ( op->o_callback->sc_response ) {
+ slap_callback *sc2 = op->o_callback;
rc = op->o_callback->sc_response( op, rs );
- if ( op->o_callback != *sc_prev ) {
+ if ( op->o_callback != sc2 ) {
*sc_prev = op->o_callback;
}
if ( rc != SLAP_CB_CONTINUE || !op->o_callback ) break;
+ if ( op->o_callback != sc2 ) continue;
}
sc_prev = &op->o_callback->sc_next;
}
for ( sc_next = op->o_callback; sc_next; op->o_callback = sc_next) {
sc_next = op->o_callback->sc_next;
if ( op->o_callback->sc_cleanup ) {
+ slap_callback *sc2 = op->o_callback;
(void)op->o_callback->sc_cleanup( op, rs );
- if ( op->o_callback != *sc_prev ) {
+ if ( op->o_callback != sc2 ) {
*sc_prev = op->o_callback;
}
if ( !op->o_callback ) break;
+ if ( op->o_callback != sc2 ) continue;
}
sc_prev = &op->o_callback->sc_next;
}
for ( sc_next = op->o_callback; sc_next; op->o_callback = sc_next) {
sc_next = op->o_callback->sc_next;
if ( op->o_callback->sc_response ) {
+ slap_callback *sc2 = op->o_callback;
rc = op->o_callback->sc_response( op, rs );
- if ( op->o_callback != *sc_prev ) {
+ if ( op->o_callback != sc2 ) {
*sc_prev = op->o_callback;
}
if ( rc != SLAP_CB_CONTINUE || !op->o_callback ) break;
+ if ( op->o_callback != sc2 ) continue;
}
sc_prev = &op->o_callback->sc_next;
}
for ( sc_next = op->o_callback; sc_next; op->o_callback = sc_next) {
sc_next = op->o_callback->sc_next;
if ( op->o_callback->sc_cleanup ) {
+ slap_callback *sc2 = op->o_callback;
(void)op->o_callback->sc_cleanup( op, rs );
- if ( op->o_callback != *sc_prev ) {
+ if ( op->o_callback != sc2 ) {
*sc_prev = op->o_callback;
}
if ( rc != SLAP_CB_CONTINUE || !op->o_callback ) break;
+ if ( op->o_callback != sc2 ) continue;
}
sc_prev = &op->o_callback->sc_next;
}