X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbackglue.c;h=623d4492d08e0d5334fe001ae83e1725cb031e87;hb=e7ddb6155c74b320d4714b953f2c1c7d2ab748ff;hp=8f0d12a1eff2fa16fd8a255a41552880ee0d23f2;hpb=f839815778e07b335cbf9c6a9aeed9f6dc9a3b71;p=openldap diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index 8f0d12a1ef..623d4492d0 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-2013 The OpenLDAP Foundation. + * Copyright 2001-2014 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;