]> git.sur5r.net Git - openldap/blobdiff - clients/tools/ldapsearch.c
Rework saslRegex code (not yet tested)
[openldap] / clients / tools / ldapsearch.c
index 868ac0697fa3f53b1929dba8ff4925b2633d2f9b..836752f257d26f1903cda0ea33c7404b441ecc12 100644 (file)
@@ -167,10 +167,8 @@ urlize(char *url)
 {
        char *p;
 
-       if (*LDAP_DIRSEP != '/')
-       {
-               for (p = url; *p; p++)
-               {
+       if (*LDAP_DIRSEP != '/') {
+               for (p = url; *p; p++) {
                        if (*p == *LDAP_DIRSEP)
                                *p = '/';
                }
@@ -188,7 +186,7 @@ main( int argc, char **argv )
        LDAP            *ld = NULL;
        int             valuesReturnFilter;
        BerElement      *ber;
-       struct berval   *bvalp;
+       struct berval   *bvalp = NULL;
        char    *vrFilter  = NULL, *control  = NULL, *s;
 
 
@@ -196,6 +194,8 @@ main( int argc, char **argv )
        debug = verbose = not = vals2tmp = referrals = valuesReturnFilter =
                attrsonly = manageDSAit = ldif = want_bindpw = 0;
 
+       prog = lutil_progname( "ldapsearch", argc, argv );
+
        lutil_log_initialize(argc, argv);
 
        deref = sizelimit = timelimit = version = -1;
@@ -225,8 +225,6 @@ main( int argc, char **argv )
 
        urlize( def_urlpre );
 
-    prog = (prog = strrchr(argv[0], *LDAP_DIRSEP)) == NULL ? argv[0] : prog + 1;
-
        while (( i = getopt( argc, argv, "Aa:b:E:F:f:Ll:S:s:T:tuz:"
                "Cd:D:h:H:IkKMnO:p:P:QR:U:vw:WxX:Y:Z")) != EOF )
        {
@@ -892,27 +890,27 @@ main( int argc, char **argv )
                }
 
                if ( valuesReturnFilter ) {
-                       struct berval *bvalp;
                        ctrls[i++]=&c2;
                        ctrls[i] = NULL;
 
                        c2.ldctl_oid = LDAP_CONTROL_VALUESRETURNFILTER;
                        c2.ldctl_iscritical = valuesReturnFilter > 1;
                    
-                       if (( ber = ber_alloc_t(LBER_USE_DER)) == NULL ) 
-                               exit( EXIT_FAILURE );
+               if (( ber = ber_alloc_t(LBER_USE_DER)) == NULL ) {
+                               return EXIT_FAILURE;
+                       }
 
-                       if ( err = put_vrFilter(ber, vrFilter)==-1 ) {
+               if ( err = ldap_put_vrFilter(ber, vrFilter)==-1 ) {
                                ber_free( ber, 1 );
                                fprintf( stderr, "Bad ValuesReturnFilter: %s\n", vrFilter );
-                               exit( EXIT_FAILURE );
+                               return EXIT_FAILURE;
                        }
 
-                       if ( ber_flatten( ber, &bvalp ) == LBER_ERROR ) 
-                               return LDAP_NO_MEMORY;
+                       if ( ber_flatten( ber, &bvalp ) == LBER_ERROR ) {
+                               return EXIT_FAILURE;
+                       }
 
                        c2.ldctl_value=(*bvalp);
-
                }
        
                err = ldap_set_option( ld, LDAP_OPT_SERVER_CONTROLS, ctrls );
@@ -925,7 +923,7 @@ main( int argc, char **argv )
                                (c1.ldctl_iscritical || c2.ldctl_iscritical)
                                ? "critical " : "" );
                        if( c1.ldctl_iscritical && c2.ldctl_iscritical ) {
-                               exit( EXIT_FAILURE );
+                               return EXIT_FAILURE;
                        }
                }
        }
@@ -1192,7 +1190,8 @@ print_entry(
                                {
                                        int tmpfd;
                                        /* write value to file */
-                                       sprintf( tmpfname, "%s" LDAP_DIRSEP "ldapsearch-%s-XXXXXX",
+                                       snprintf( tmpfname, sizeof tmpfname,
+                                               "%s" LDAP_DIRSEP "ldapsearch-%s-XXXXXX",
                                                tmpdir, a );
                                        tmpfp = NULL;
 
@@ -1218,7 +1217,7 @@ print_entry(
 
                                        fclose( tmpfp );
 
-                                       sprintf( url, "%s%s", urlpre,
+                                       snprintf( url, sizeof url, "%s%s", urlpre,
                                                &tmpfname[strlen(tmpdir) + sizeof(LDAP_DIRSEP) - 1] );
 
                                        urlize( url );