{
char *options = NULL;
fprintf( stderr,
- "usage: %s [-v] [-c] [-d debuglevel] [-f configfile]\n",
+ "usage: %s [-v] [-c] [-d debuglevel] [-f configfile]",
progname );
switch( tool ) {
case SLAPADD:
- options = "\t[-n databasenumber | -b suffix]\n"
+ options = "\n\t[-n databasenumber | -b suffix]\n"
"\t[-l ldiffile] [-u] [-p [-w] | -r [-i syncreplidlist] [-w]]\n";
break;
case SLAPCAT:
- options = "\t[-n databasenumber | -b suffix] [-l ldiffile] [-m] [-k]\n";
+ options = "\n\t[-n databasenumber | -b suffix] [-l ldiffile] [-m] [-k]\n";
break;
case SLAPDN:
- options = "\tDN [...]\n";
+ options = " DN [...]\n";
break;
case SLAPINDEX:
- options = "\t[-n databasenumber | -b suffix]\n";
+ options = "\n\t[-n databasenumber | -b suffix]\n";
+ break;
+
+ case SLAPTEST:
+ options = " [-u]\n";
break;
}
break;
case SLAPDN:
- case SLAPTEST:
options = "d:f:v";
+ mode |= SLAP_TOOL_READMAIN | SLAP_TOOL_READONLY;
+ break;
+
+ case SLAPTEST:
+ options = "d:f:uv";
+ mode |= SLAP_TOOL_READMAIN | SLAP_TOOL_READONLY;
+ break;
break;
case SLAPINDEX:
break;
default:
- fprintf( stderr, "%s: unknown tool mode (%d)\n",
- progname, tool );
+ fprintf( stderr, "%s: unknown tool mode (%d)\n", progname, tool );
exit( EXIT_FAILURE );
}
while ( (i = getopt( argc, argv, options )) != EOF ) {
switch ( i ) {
case 'b':
- base.bv_val = strdup( optarg );
- base.bv_len = strlen( base.bv_val );
+ ber_str2bv( optarg, 0, 1, &base );
break;
case 'c': /* enable continue mode */
if ( ldiffile == NULL ) {
ldiffp = tool == SLAPCAT ? stdout : stdin;
- } else if( (ldiffp = fopen( ldiffile, tool == SLAPCAT ? "w" : "r" ))
+ } else if ( ( ldiffp = fopen( ldiffile, tool == SLAPCAT ? "w" : "r" ) )
== NULL )
{
perror( ldiffile );
switch ( tool ) {
case SLAPDN:
case SLAPTEST:
- return;
+ be = NULL;
+ goto startup;
default:
break;
be = &backends[dbnum];
}
+startup:;
+
#ifdef CSRIMALLOC
mal_leaktrace(1);
#endif
if ( !dryrun && slap_startup( be ) ) {
- fprintf( stderr, "slap_startup failed\n" );
+
+ switch ( tool ) {
+ case SLAPTEST:
+ fprintf( stderr, "slap_startup failed "
+ "(test would succeed using "
+ "the -u switch)\n" );
+ break;
+
+ default:
+ fprintf( stderr, "slap_startup failed\n" );
+ break;
+ }
+
exit( EXIT_FAILURE );
}
}