From 0176e023987714ebed1c877c5031ac8c5c6d038a Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Tue, 9 Dec 2003 23:49:13 +0000 Subject: [PATCH] cleanup handling of unknown directives ... --- servers/slapd/config.c | 58 +++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 68c3c2ac1e..56295fed6f 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -2470,34 +2470,56 @@ read_config( const char *fname, int depth ) /* pass anything else to the current backend info/db config routine */ } else { if ( bi != NULL ) { - if ( bi->bi_config && - ( rc = (*bi->bi_config)( bi, fname, lineno, cargc, cargv )) - != 0 && rc != SLAP_CONF_UNKNOWN ) return ( 1 ); + if ( bi->bi_config ) { + rc = (*bi->bi_config)( bi, fname, lineno, cargc, cargv ); + + switch ( rc ) { + case 0: + break; + + case SLAP_CONF_UNKNOWN: #ifdef NEW_LOGGING - LDAP_LOG( CONFIG, INFO, - "%s: line %d: unknown directive \"%s\" inside " - "backend info definition (ignored).\n", - fname, lineno, cargv[0] ); + LDAP_LOG( CONFIG, INFO, + "%s: line %d: unknown directive \"%s\" inside " + "backend info definition (ignored).\n", + fname, lineno, cargv[0] ); #else - Debug( LDAP_DEBUG_ANY, + Debug( LDAP_DEBUG_ANY, "%s: line %d: unknown directive \"%s\" inside backend info definition (ignored)\n", - fname, lineno, cargv[0] ); + fname, lineno, cargv[0] ); #endif + break; + + default: + return 1; + } + } } else if ( be != NULL ) { - if ( be->be_config && - ( rc = (*be->be_config)( be, fname, lineno, cargc, cargv )) - != 0 && rc != SLAP_CONF_UNKNOWN ) return ( 1 ); + if ( be->be_config ) { + rc = (*be->be_config)( be, fname, lineno, cargc, cargv ); + + switch ( rc ) { + case 0: + break; + + case SLAP_CONF_UNKNOWN: #ifdef NEW_LOGGING - LDAP_LOG( CONFIG, INFO, - "%s: line %d: unknown directive \"%s\" inside " - "backend database definition (ignored).\n", - fname, lineno, cargv[0] ); + LDAP_LOG( CONFIG, INFO, + "%s: line %d: unknown directive \"%s\" inside " + "backend database definition (ignored).\n", + fname, lineno, cargv[0] ); #else - Debug( LDAP_DEBUG_ANY, + Debug( LDAP_DEBUG_ANY, "%s: line %d: unknown directive \"%s\" inside backend database definition (ignored)\n", - fname, lineno, cargv[0] ); + fname, lineno, cargv[0] ); #endif + break; + + default: + return 1; + } + } } else { #ifdef NEW_LOGGING -- 2.39.5