From 1f33edc08eae4ec008b7cd697539eb31b2808c63 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Tue, 4 Aug 2009 23:27:52 +0000 Subject: [PATCH] use back-config if supported --- servers/slapd/overlays/pcache.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) 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-" ) ];