X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbackglue.c;h=1c066d18541e073e135d5963e559e8e912126587;hb=3be02f83df3cff594f87323f9f3a3fbf3c32a4f8;hp=08a379707ed9bee3a0e214d5befb5d71cc4bd16d;hpb=f9d41ba98a8af4a4789edb9aeb033d70d4abc49c;p=openldap diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index 08a379707e..1c066d1854 100644 --- a/servers/slapd/backglue.c +++ b/servers/slapd/backglue.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2012 The OpenLDAP Foundation. + * Copyright 2001-2013 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -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;