/* $OpenLDAP$ */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1999-2007 The OpenLDAP Foundation.
+ * Copyright 1999-2009 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
int sextra_args = 0;
char scmd[MAXPATHLEN];
/* static so that its address can be used in initializer below. */
- static char sloops[] = "18446744073709551615UL";
+ static char sloops[LDAP_PVT_INTTYPE_CHARS(unsigned long)];
/* read */
char *rfile = NULL;
char *rreqs[MAXREQS];
int ranum;
int rextra_args = 0;
char rcmd[MAXPATHLEN];
- static char rloops[] = "18446744073709551615UL";
+ static char rloops[LDAP_PVT_INTTYPE_CHARS(unsigned long)];
/* addel */
char *afiles[MAXREQS];
int anum = 0;
char *aargs[MAXARGS];
int aanum;
char acmd[MAXPATHLEN];
- static char aloops[] = "18446744073709551615UL";
+ static char aloops[LDAP_PVT_INTTYPE_CHARS(unsigned long)];
/* modrdn */
char *nfile = NULL;
char *nreqs[MAXREQS];
char *nargs[MAXARGS];
int nanum;
char ncmd[MAXPATHLEN];
- static char nloops[] = "18446744073709551615UL";
+ static char nloops[LDAP_PVT_INTTYPE_CHARS(unsigned long)];
/* modify */
char *mfile = NULL;
char *mreqs[MAXREQS];
char *margs[MAXARGS];
int manum;
char mcmd[MAXPATHLEN];
- static char mloops[] = "18446744073709551615UL";
+ static char mloops[LDAP_PVT_INTTYPE_CHARS(unsigned long)];
/* bind */
char *bfile = NULL;
char *breqs[MAXREQS];
char *bargs[MAXARGS];
int banum;
char bcmd[MAXPATHLEN];
- static char bloops[] = "18446744073709551615UL";
+ static char bloops[LDAP_PVT_INTTYPE_CHARS(unsigned long)];
char **bargs_extra = NULL;
char *friendlyOpt = NULL;
passwd = pw.bv_val;
}
+ if ( !sfile && !rfile && !nfile && !mfile && !bfile && !anum ) {
+ fprintf( stderr, "no data files found.\n" );
+ exit( EXIT_FAILURE );
+ }
+
/* look for search requests */
if ( sfile ) {
snum = get_search_filters( sfile, sreqs, sattrs, sbase, slud );
- if ( snum == -1 ) {
- fprintf( stderr, "unable to parse file \"%s\"\n", sfile );
+ if ( snum < 0 ) {
+ fprintf( stderr,
+ "unable to parse file \"%s\" line %d\n",
+ sfile, -2*(snum + 1));
exit( EXIT_FAILURE );
}
}
/* look for read requests */
if ( rfile ) {
rnum = get_read_entries( rfile, rreqs, rflts );
- if ( rnum == -1 ) {
- fprintf( stderr, "unable to parse file \"%s\"\n", rfile );
+ if ( rnum < 0 ) {
+ fprintf( stderr,
+ "unable to parse file \"%s\" line %d\n",
+ rfile, -2*(rnum + 1) );
exit( EXIT_FAILURE );
}
}
/* look for modrdn requests */
if ( nfile ) {
nnum = get_read_entries( nfile, nreqs, NULL );
- if ( nnum == -1 ) {
- fprintf( stderr, "unable to parse file \"%s\"\n", nfile );
+ if ( nnum < 0 ) {
+ fprintf( stderr,
+ "unable to parse file \"%s\" line %d\n",
+ nfile, -2*(nnum + 1) );
exit( EXIT_FAILURE );
}
}
/* look for modify requests */
if ( mfile ) {
mnum = get_search_filters( mfile, mreqs, NULL, mdn, NULL );
- if ( mnum == -1 ) {
- fprintf( stderr, "unable to parse file \"%s\"\n", mfile );
+ if ( mnum < 0 ) {
+ fprintf( stderr,
+ "unable to parse file \"%s\" line %d\n",
+ mfile, -2*(mnum + 1) );
exit( EXIT_FAILURE );
}
}
/* look for bind requests */
if ( bfile ) {
bnum = get_search_filters( bfile, bcreds, battrs, breqs, NULL );
- if ( bnum == -1 ) {
- fprintf( stderr, "unable to parse file \"%s\"\n", bfile );
+ if ( bnum < 0 ) {
+ fprintf( stderr,
+ "unable to parse file \"%s\" line %d\n",
+ bfile, -2*(bnum + 1) );
exit( EXIT_FAILURE );
}
}
bargs[banum - 3] = manager ? manager : "";
bargs[banum - 1] = passwd ? passwd : "";
- bargs[banum - 2] = "-b";
- bargs[banum - 1] = breqs[jj];
- bargs[banum + 0] = "-f";
- bargs[banum + 1] = bcreds[jj];
- bargs[banum + 2] = "-a";
- bargs[banum + 3] = battrs[jj];
+ bargs[banum + 0] = "-b";
+ bargs[banum + 1] = breqs[jj];
+ bargs[banum + 2] = "-f";
+ bargs[banum + 3] = bcreds[jj];
+ bargs[banum + 4] = "-a";
+ bargs[banum + 5] = battrs[jj];
+ bargs[banum + 6] = NULL;
} else {
bargs[banum - 3] = breqs[jj];
got_URL = 1;
bases[filter] = NULL;
if ( ldap_url_parse( line, &lud ) != LDAP_URL_SUCCESS ) {
- filter = -1;
+ filter = -filter - 1;
break;
}
if ( lud->lud_dn == NULL || lud->lud_exts != NULL ) {
- filter = -1;
+ filter = -filter - 1;
+ ldap_free_urldesc( lud );
break;
}
LDAPURLDesc *lud;
if ( ldap_url_parse( &line[1], &lud ) != LDAP_URL_SUCCESS ) {
- entry = -1;
+ entry = -entry - 1;
break;
}
if ( lud->lud_dn == NULL || lud->lud_dn[ 0 ] == '\0' ) {
ldap_free_urldesc( lud );
- entry = -1;
+ entry = -entry - 1;
break;
}
#endif
execvp( prog, args );
tester_perror( "execvp", NULL );
+ { int i;
+ for (i=0; args[i]; i++);
+ fprintf(stderr,"%d args\n", i);
+ for (i=0; args[i]; i++)
+ fprintf(stderr,"%d %s\n", i, args[i]);
+ }
+
exit( EXIT_FAILURE );
break;