{
char buf[ 4096 ];
FILE *fp;
- int i, rc, authmethod, referrals, want_bindpw, version, debug, manageDSAit, noop, crit;
+ int i, rc, retval, authmethod, referrals, want_bindpw;
+ int version, debug, manageDSAit, noop, crit;
char *pw_file;
char *control, *cvalue;
char *authzid = NULL;
}
}
- rc = 0;
+ retval = rc = 0;
if ( fp == NULL ) {
for ( ; optind < argc; ++optind ) {
rc = dodelete( ld, argv[ optind ] );
/* Stop on error and no -c option */
- if( rc != 0 && contoper == 0) break;
+ if( rc != 0 ) {
+ retval = rc;
+ if( contoper == 0 ) break;
+ }
}
} else {
while ((rc == 0 || contoper) && fgets(buf, sizeof(buf), fp) != NULL) {
if ( *buf != '\0' ) {
rc = dodelete( ld, buf );
+ if ( rc != 0 )
+ retval = rc;
}
}
}
ldap_unbind( ld );
- return( rc );
+ return( retval );
}
{
char *infile, *entrydn = NULL, *rdn = NULL, buf[ 4096 ];
FILE *fp;
- int rc, i, remove, havedn, authmethod, version, want_bindpw, debug, manageDSAit, noop, crit;
+ int rc, retval, i, remove, havedn, authmethod, version;
+ int want_bindpw, debug, manageDSAit, noop, crit;
int referrals;
char *newSuperior=NULL;
char *pw_file = NULL;
}
}
- rc = 0;
+ retval = rc = 0;
if (havedn)
- rc = domodrdn( ld, entrydn, rdn, newSuperior, remove );
+ retval = domodrdn( ld, entrydn, rdn, newSuperior, remove );
else while ((rc == 0 || contoper) && fgets(buf, sizeof(buf), fp) != NULL) {
if ( *buf != '\0' ) { /* blank lines optional, skip */
buf[ strlen( buf ) - 1 ] = '\0'; /* remove nl */
return( EXIT_FAILURE );
}
rc = domodrdn(ld, entrydn, rdn, newSuperior, remove );
+ if ( rc != 0 )
+ retval = rc;
havedn = 0;
} else if ( !havedn ) { /* don't have DN yet */
if (( entrydn = strdup( buf )) == NULL ) {
ldap_unbind( ld );
- /* UNREACHABLE */
- return( rc );
+ return( retval );
}
static int domodrdn(