diff --git a/servers/lloadd/config.c b/servers/lloadd/config.c index aea0d26e1d..03b81cc771 100644 --- a/servers/lloadd/config.c +++ b/servers/lloadd/config.c @@ -2121,7 +2121,8 @@ lload_config_find_keyword( ConfigTable *Conf, ConfigArgs *c ) } c->line = c->tline; } - return Conf + i; + c->ca_desc = Conf + i; + return c->ca_desc; } int diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index f86e24b6b8..712686f944 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -4822,6 +4822,7 @@ config_find_table( ConfigOCs **colst, int nocs, AttributeDescription *ad, for (i=0; colst[j]->co_table[i].name; i++) if ( colst[j]->co_table[i].ad == ad ) { ca->table = colst[j]->co_type; + ca->ca_desc = colst[j]->co_table+i; return &colst[j]->co_table[i]; } } diff --git a/servers/slapd/config.c b/servers/slapd/config.c index bd6855def7..64c8951b5f 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -143,7 +143,8 @@ ConfigTable *config_find_keyword(ConfigTable *Conf, ConfigArgs *c) { } c->line = c->tline; } - return Conf+i; + c->ca_desc = Conf+i; + return c->ca_desc; } int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { diff --git a/servers/slapd/slap-config.h b/servers/slapd/slap-config.h index a42a21f599..8403e11047 100644 --- a/servers/slapd/slap-config.h +++ b/servers/slapd/slap-config.h @@ -176,7 +176,8 @@ typedef struct config_args_s { #define SLAP_CONFIG_CLEANUP_MAX 16 #endif ConfigDriver *cleanups[SLAP_CONFIG_CLEANUP_MAX]; - ConfigType table; /* which config table did we come from */ + ConfigType table; /* what kind of config table did we come from */ + ConfigTable *ca_desc; int num_cleanups; } ConfigArgs;