/* config.c - shell backend configuration file routine */
+#include "portable.h"
+
#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
+
+#include <ac/string.h>
+#include <ac/socket.h>
+
#include "slap.h"
#include "shell.h"
-extern char **charray_dup();
-
-shell_back_config(
- Backend *be,
+int
+shell_back_db_config(
+ BackendDB *be,
char *fname,
int lineno,
int argc,
if ( si == NULL ) {
fprintf( stderr, "%s: line %d: shell backend info is null!\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
/* command + args to exec for binds */
fprintf( stderr,
"%s: line %d: missing executable in \"bind <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_bind = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"unbind <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_unbind = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"search <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_search = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"compare <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_compare = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"modify <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_modify = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"modrdn <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_modrdn = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"add <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_add = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"delete <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_delete = charray_dup( &argv[1] );
fprintf( stderr,
"%s: line %d: missing executable in \"abandon <executable>\" line\n",
fname, lineno );
- exit( 1 );
+ return( 1 );
}
si->si_abandon = charray_dup( &argv[1] );
"%s: line %d: unknown directive \"%s\" in shell database definition (ignored)\n",
fname, lineno, argv[0] );
}
+
+ return 0;
}