mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Update '-c' error handling, so error in any operation returns error from main.
This commit is contained in:
parent
56ebd53e51
commit
a42908f2e7
@ -99,7 +99,8 @@ main( int argc, char **argv )
|
||||
{
|
||||
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;
|
||||
@ -770,14 +771,17 @@ main( int argc, char **argv )
|
||||
}
|
||||
}
|
||||
|
||||
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) {
|
||||
@ -785,13 +789,15 @@ main( int argc, char **argv )
|
||||
|
||||
if ( *buf != '\0' ) {
|
||||
rc = dodelete( ld, buf );
|
||||
if ( rc != 0 )
|
||||
retval = rc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ldap_unbind( ld );
|
||||
|
||||
return( rc );
|
||||
return( retval );
|
||||
}
|
||||
|
||||
|
||||
|
@ -112,7 +112,8 @@ main(int argc, char **argv)
|
||||
{
|
||||
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;
|
||||
@ -805,9 +806,9 @@ main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
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 */
|
||||
@ -818,6 +819,8 @@ main(int argc, char **argv)
|
||||
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 ) {
|
||||
@ -831,8 +834,7 @@ main(int argc, char **argv)
|
||||
|
||||
ldap_unbind( ld );
|
||||
|
||||
/* UNREACHABLE */
|
||||
return( rc );
|
||||
return( retval );
|
||||
}
|
||||
|
||||
static int domodrdn(
|
||||
|
Loading…
Reference in New Issue
Block a user