]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/backglue.c
ITS#6758 Rewrite code for contrib:wrap_slap_ops.
[openldap] / servers / slapd / backglue.c
index 8f0d12a1eff2fa16fd8a255a41552880ee0d23f2..1c066d18541e073e135d5963e559e8e912126587 100644 (file)
@@ -225,8 +225,7 @@ glue_op_func ( Operation *op, SlapReply *rs )
 {
        slap_overinst   *on = (slap_overinst *)op->o_bd->bd_info;
        BackendDB *b0 = op->o_bd;
-       BackendInfo *bi0 = op->o_bd->bd_info;
-       BI_op_modify **func;
+       BackendInfo *bi0 = op->o_bd->bd_info, *bi1;
        slap_operation_t which = op_bind;
        int rc;
 
@@ -247,11 +246,9 @@ glue_op_func ( Operation *op, SlapReply *rs )
        default: assert( 0 ); break;
        }
 
-       func = &op->o_bd->bd_info->bi_op_bind;
-       if ( func[which] )
-               rc = func[which]( op, rs );
-       else
-               rc = SLAP_CB_BYPASS;
+       bi1 = op->o_bd->bd_info;
+       rc = (&bi1->bi_op_bind)[ which ] ?
+               (&bi1->bi_op_bind)[ which ]( op, rs ) : SLAP_CB_BYPASS;
 
        op->o_bd = b0;
        op->o_bd->bd_info = bi0;