X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslapcommon.c;h=a1d8c0d9d819d92a9324a15dd299b9a0287eabc6;hb=f3c2c7ba48e67468e4052cea4699ffabad59a741;hp=6fc5afed39d6588a8f31b246ecd91a49e93fa2fe;hpb=ce3c024557816bf1f88a29ab93026269cb7bb384;p=openldap diff --git a/servers/slapd/slapcommon.c b/servers/slapd/slapcommon.c index 6fc5afed39..a1d8c0d9d8 100644 --- a/servers/slapd/slapcommon.c +++ b/servers/slapd/slapcommon.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2005 The OpenLDAP Foundation. + * Copyright 1998-2006 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. @@ -63,7 +63,7 @@ usage( int tool, const char *progname ) case SLAPADD: options = " [-c]\n\t[-g] [-n databasenumber | -b suffix]\n" - "\t[-l ldiffile] [-q] [-u] [-w]\n"; + "\t[-l ldiffile] [-q] [-u] [-s] [-w]\n"; break; case SLAPAUTH: @@ -211,7 +211,7 @@ slap_tool_init( switch( tool ) { case SLAPADD: - options = "b:cd:f:F:gl:n:qtuvw"; + options = "b:cd:f:F:gl:n:qstuvw"; break; case SLAPCAT: @@ -267,59 +267,19 @@ slap_tool_init( case 'd': { /* turn on debugging */ int level = 0; + if ( parse_debug_level( optarg, &level ) ) { + usage( tool, progname ); + } #ifdef LDAP_DEBUG - if ( optarg != NULL && optarg[ 0 ] != '-' && !isdigit( optarg[ 0 ] ) ) - { - int i, goterr = 0; - char **levels; - - levels = ldap_str2charray( optarg, "," ); - - for ( i = 0; levels[ i ] != NULL; i++ ) { - level = 0; - - if ( str2loglevel( levels[ i ], &level ) ) { - fprintf( stderr, - "unrecognized log level " - "\"%s\"\n", levels[ i ] ); - goterr = 1; - /* but keep parsing... */ - - } else { - if ( level != 0 ) { - slap_debug |= level; - - } else { - /* allow to reset log level */ - slap_debug = 0; - } - } - } - - ldap_charray_free( levels ); - - if ( goterr ) { - usage( tool, progname ); - } + if ( level == 0 ) { + /* allow to reset log level */ + slap_debug = 0; } else { - if ( lutil_atoix( &level, optarg, 0 ) != 0 ) { - fprintf( stderr, - "unrecognized log level " - "\"%s\"\n", optarg ); - usage( tool, progname ); - } - - if ( level != 0 ) { - slap_debug |= level; - - } else { - /* allow to reset log level */ - slap_debug = 0; - } + slap_debug |= level; } #else - if ( lutil_atoi( &level, optarg ) != 0 || level != 0 ) + if ( level != 0 ) fputs( "must compile with LDAP_DEBUG for debugging\n", stderr ); #endif @@ -384,7 +344,10 @@ slap_tool_init( break; case 's': /* dump subtree */ - subtree = strdup( optarg ); + if ( tool == SLAPADD ) + mode |= SLAP_TOOL_NO_SCHEMA_CHECK; + else if ( tool == SLAPCAT ) + subtree = strdup( optarg ); break; case 't': /* turn on truncate */