From: Quanah Gibson-Mount Date: Thu, 13 Aug 2009 02:49:24 +0000 (+0000) Subject: use back-config if supported X-Git-Tag: OPENLDAP_REL_ENG_2_4_18~55 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=64be2fab83bfceb8441474ba925ca6118a8fb73d;p=openldap use back-config if supported --- diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 024fb538b0..c40825d836 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -3245,7 +3245,32 @@ pc_cf_gen( ConfigArgs *c ) return( 1 ); } - if ( cm->db.be_config != NULL ) { + if ( cm->db.bd_info->bi_cf_ocs ) { + ConfigTable *ct; + ConfigArgs c2 = *c; + char *argv0 = c->argv[ 0 ]; + + c->argv[ 0 ] = &argv0[ STRLENOF( "proxycache-" ) ]; + + ct = config_find_keyword( cm->db.bd_info->bi_cf_ocs->co_table, c ); + if ( ct == NULL ) { + rc = 1; + + } else { + c->table = cm->db.bd_info->bi_cf_ocs->co_type; + c->be = &cm->db; + c->bi = c->be->bd_info; + + rc = config_add_vals( ct, c ); + + c->bi = c2.bi; + c->be = c2.be; + c->table = c2.table; + } + + c->argv[ 0 ] = argv0; + + } else if ( cm->db.be_config != NULL ) { char *argv0 = c->argv[ 0 ]; c->argv[ 0 ] = &argv0[ STRLENOF( "proxycache-" ) ];