]> git.sur5r.net Git - openldap/commitdiff
Clean up some logic, based upon Novell patches
authorKurt Zeilenga <kurt@openldap.org>
Wed, 2 May 2001 19:52:09 +0000 (19:52 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Wed, 2 May 2001 19:52:09 +0000 (19:52 +0000)
clients/tools/ldapdelete.c
clients/tools/ldapmodify.c

index d4e74126b93defce05997fcb784ec0d5d74131db..844fed72776e1649c13f805914b4d69dc084c7de 100644 (file)
@@ -626,18 +626,23 @@ main( int argc, char **argv )
        }
 
        rc = 0;
+
     if ( fp == NULL ) {
-       for ( ; optind < argc; ++optind ) {
-           rc = dodelete( ld, argv[ optind ] );
-       }
-    } else {
-       while ((rc == 0 || contoper) && fgets(buf, sizeof(buf), fp) != NULL) {
-           buf[ strlen( buf ) - 1 ] = '\0';    /* remove trailing newline */
-           if ( *buf != '\0' ) {
-               rc = dodelete( ld, buf );
-           }
+               for ( ; optind < argc; ++optind ) {
+                       rc = dodelete( ld, argv[ optind ] );
+
+                       /* Stop on error and no -c option */
+                       if( rc != 0 && contoper == 0) break;
+               }
+       } else {
+               while ((rc == 0 || contoper) && fgets(buf, sizeof(buf), fp) != NULL) {
+                       buf[ strlen( buf ) - 1 ] = '\0'; /* remove trailing newline */
+
+                       if ( *buf != '\0' ) {
+                               rc = dodelete( ld, buf );
+                       }
+               }
        }
-    }
 
     ldap_unbind( ld );
 
index f919d4e2d1d87dd8e8e87fe3fff6101dca7e82cc..d75f0627dc88ee3e6bfbcc11f66261ff421ed357 100644 (file)
@@ -48,7 +48,7 @@ static char   *sasl_mech = NULL;
 static char    *sasl_secprops = NULL;
 #endif
 static int     use_tls = 0;
-static int     ldapadd, replace, not, verbose, contoper, force;
+static int     ldapadd, not, verbose, contoper, force;
 static LDAP    *ld = NULL;
 
 #define LDAPMOD_MAXLINE                4096
@@ -102,7 +102,6 @@ usage( const char *prog )
 "      specified by \"-f file\".\n"
 "Add or modify options:\n"
 "  -a         add values (default%s)\n"
-"  -r         replace values\n"
 "  -F         force all changes records to be used\n"
 
 "Common options:\n"
@@ -180,9 +179,6 @@ main( int argc, char **argv )
        case 'F':       /* force all changes records to be used */
            force = 1;
            break;
-       case 'r':       /* default is to replace rather than add values */
-           replace = 1;
-           break;
 
        /* Common Options */
        case 'C':
@@ -376,6 +372,9 @@ main( int argc, char **argv )
                        prog );
                return( EXIT_FAILURE );
 #endif
+       case 'r':       /* replace (obsolete) */
+               break;
+
        case 'R':
 #ifdef HAVE_CYRUS_SASL
                if( sasl_realm != NULL ) {
@@ -848,7 +847,7 @@ process_ldif_rec( char *rbuf, int count )
                addmodifyop( &pmods, modop, val.bv_val, NULL );
                goto end_line;
            } else {    /* no modify op:  use default */
-               modop = replace ? LDAP_MOD_REPLACE : LDAP_MOD_ADD;
+               modop = ldapadd ? LDAP_MOD_ADD : LDAP_MOD_REPLACE;
            }
        }