]> git.sur5r.net Git - openldap/blobdiff - clients/tools/ldapdelete.c
Remove unused variables
[openldap] / clients / tools / ldapdelete.c
index df1103cda15c00e09883ddb09ee9bb4a4418c1ee..01c47fe645606ed8aeb05ac8ab4256e097c9ef52 100644 (file)
@@ -6,6 +6,7 @@
 #include <stdlib.h>
 #include <ctype.h>
 
+#include <ac/signal.h>
 #include <ac/string.h>
 #include <ac/unistd.h>
 
@@ -30,16 +31,17 @@ static int dodelete LDAP_P((
 int
 main( int argc, char **argv )
 {
-    char               *usage = "usage: %s [-n] [-v] [-k] [-W] [-d debug-level] [-f file] [-h ldaphost] [-p ldapport] [-D binddn] [-w passwd] [dn]...\n";
+       char            *usage = "usage: %s [-n] [-v] [-k] [-W] [-d debug-level] [-f file] [-h ldaphost] [-P version] [-p ldapport] [-D binddn] [-w passwd] [dn]...\n";
     char               buf[ 4096 ];
     FILE               *fp;
-    int                        i, rc, authmethod, want_bindpw, debug;
+       int             i, rc, authmethod, want_bindpw, version, debug;
 
     not = verbose = contoper = want_bindpw = debug = 0;
     fp = NULL;
     authmethod = LDAP_AUTH_SIMPLE;
+       version = -1;
 
-    while (( i = getopt( argc, argv, "WnvkKch:p:D:w:d:f:" )) != EOF ) {
+    while (( i = getopt( argc, argv, "WnvkKch:P:p:D:w:d:f:" )) != EOF ) {
        switch( i ) {
        case 'k':       /* kerberos bind */
 #ifdef HAVE_KERBEROS
@@ -88,6 +90,17 @@ main( int argc, char **argv )
        case 'W':
                want_bindpw++;
                break;
+       case 'P':
+               switch(optarg[0])
+               {
+               case '2':
+                       version = LDAP_VERSION2;
+                       break;
+               case '3':
+                       version = LDAP_VERSION3;
+                       break;
+               }
+               break;
        default:
            fprintf( stderr, usage, argv[0] );
            exit( 1 );
@@ -105,8 +118,12 @@ main( int argc, char **argv )
                ldap_set_option( NULL, LDAP_OPT_DEBUG_LEVEL, &debug );
        }
 
-    if (( ld = ldap_open( ldaphost, ldapport )) == NULL ) {
-       perror( "ldap_open" );
+#ifdef SIGPIPE
+       (void) SIGNAL( SIGPIPE, SIG_IGN );
+#endif
+
+    if (( ld = ldap_init( ldaphost, ldapport )) == NULL ) {
+       perror( "ldap_init" );
        exit( 1 );
     }
 
@@ -119,6 +136,10 @@ main( int argc, char **argv )
        if (want_bindpw)
                passwd = getpass("Enter LDAP Password: ");
 
+       if( version != -1 ) {
+               ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION, &version );
+       }
+
     if ( ldap_bind_s( ld, binddn, passwd, authmethod ) != LDAP_SUCCESS ) {
        ldap_perror( ld, "ldap_bind" );
        exit( 1 );
@@ -154,7 +175,8 @@ static int dodelete(
     int        rc;
 
     if ( verbose ) {
-       printf( "%sdeleting entry %s\n", not ? "!" : "", dn );
+       printf( "%sdeleting entry \"%s\"\n",
+               (not ? "!" : ""), dn );
     }
     if ( not ) {
        rc = LDAP_SUCCESS;
@@ -162,7 +184,7 @@ static int dodelete(
        if (( rc = ldap_delete_s( ld, dn )) != LDAP_SUCCESS ) {
            ldap_perror( ld, "ldap_delete" );
        } else if ( verbose ) {
-           printf( "entry removed\n" );
+           printf( "\tremoved\n" );
        }
     }