+#include "portable.h"
+
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/param.h>
#include "../slap.h"
#include "../back-ldbm/back-ldbm.h"
+#include "ldapconfig.h"
-#define DEFAULT_CONFIGFILE "%ETCDIR%/slapd.conf"
-#define DEFAULT_ETCDIR "%ETCDIR%"
#define INDEXCMD "ldif2index"
#define ID2ENTRYCMD "ldif2id2entry"
#define ID2CHILDRENCMD "ldif2id2children"
static void
usage( char *name )
{
- fprintf( stderr, "usage: %s -i inputfile [-d debuglevel] [-f configfile] [-j #jobs] [-n databasenumber] [-e etcdir]\n", name );
+ fprintf( stderr, "usage: %s -i inputfile [-d debuglevel] [-f configfile] [-j #jobs] [-n databasenumber] [-s sbindir]\n", name );
exit( 1 );
}
main( int argc, char **argv )
{
int i, stop, status;
- char *linep, *buf, *etcdir;
+ char *linep, *buf, *sbindir;
char *args[10];
char buf2[20], buf3[20];
char line[BUFSIZ];
Avlnode *avltypes = NULL;
extern char *optarg;
- etcdir = DEFAULT_ETCDIR;
- tailorfile = DEFAULT_CONFIGFILE;
+ sbindir = DEFAULT_SBINDIR;
+ tailorfile = SLAPD_DEFAULT_CONFIGFILE;
dbnum = -1;
- while ( (i = getopt( argc, argv, "d:e:f:i:j:n:" )) != EOF ) {
+ while ( (i = getopt( argc, argv, "d:e:s:f:i:j:n:" )) != EOF ) {
switch ( i ) {
case 'd': /* turn on debugging */
ldap_debug = atoi( optarg );
break;
- case 'e': /* alternate etcdir (index cmd location) */
- etcdir = strdup( optarg );
+ case 's': /* alternate sbindir (index cmd location) */
+ case 'e': /* accept -e for backwards compatibility */
+ sbindir = strdup( optarg );
break;
case 'f': /* specify a tailor file */
fprintf( stderr, "No ldbm database found in config file\n" );
exit( 1 );
}
- } else if ( dbnum < 0 || dbnum > nbackends ) {
+ } else if ( dbnum < 0 || dbnum > (nbackends-1) ) {
fprintf( stderr, "Database number selected via -n is out of range\n" );
fprintf( stderr, "Must be in the range 1 to %d (number of databases in the config file)\n", nbackends );
exit( 1 );
*/
i = 0;
- sprintf( cmd, "%s/%s", etcdir, ID2ENTRYCMD );
+ sprintf( cmd, "%s/%s", sbindir, ID2ENTRYCMD );
args[i++] = cmd;
args[i++] = "-i";
args[i++] = inputfile;
args[i++] = "-f";
args[i++] = tailorfile;
args[i++] = "-n";
- sprintf( buf2, "%d", dbnum );
+ sprintf( buf2, "%d", dbnum+1 );
args[i++] = buf2;
if ( ldap_debug ) {
sprintf( buf3, "%d", ldap_debug );
*/
i = 0;
- sprintf( cmd, "%s/%s", etcdir, ID2CHILDRENCMD );
+ sprintf( cmd, "%s/%s", sbindir, ID2CHILDRENCMD );
args[i++] = cmd;
args[i++] = "-i";
args[i++] = inputfile;
args[i++] = "-f";
args[i++] = tailorfile;
args[i++] = "-n";
- sprintf( buf2, "%d", dbnum );
+ sprintf( buf2, "%d", dbnum+1 );
args[i++] = buf2;
if ( ldap_debug ) {
sprintf( buf3, "%d", ldap_debug );
*/
i = 0;
- sprintf( cmd, "%s/%s", etcdir, INDEXCMD );
+ sprintf( cmd, "%s/%s", sbindir, INDEXCMD );
args[i++] = cmd;
args[i++] = "-i";
args[i++] = inputfile;
args[i++] = "-f";
args[i++] = tailorfile;
args[i++] = "-n";
- sprintf( buf2, "%d", dbnum );
+ sprintf( buf2, "%d", dbnum+1 );
args[i++] = buf2;
if ( ldap_debug ) {
sprintf( buf3, "%d", ldap_debug );