]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/dntest.c
ITS#1732 signed/unsigned fixes
[openldap] / libraries / libldap / dntest.c
index b6538d06ece5f2f0276388c890e1491a7d4ee48d..72d3c52febb82f4e73f4c1564564ccfcef8a84eb 100644 (file)
@@ -31,7 +31,7 @@ int
 main( int argc, char *argv[] )
 {
        int             rc, i, debug = 0, f2 = 0;
-       unsigned        flags[ 2 ] = { 0U, LDAP_DN_FORMAT_LDAPV3 };
+       unsigned        flags[ 2 ] = { 0U, 0 };
        char            *strin, *str = NULL, buf[ 1024 ];
        LDAPDN          *dn, *dn2 = NULL;
 
@@ -72,8 +72,8 @@ main( int argc, char *argv[] )
                size_t len;
                
                fgets( buf, sizeof( buf ), stdin );
-               len = strlen( buf ) - 1;
-               if ( len >= 0 && buf[ len ] == '\n' ) {
+               len = strlen( buf );
+               if ( len > 0 && buf[ --len ] == '\n' ) {
                        buf[ len ] = '\0';
                }
                strin = buf;
@@ -114,14 +114,17 @@ main( int argc, char *argv[] )
                }
        }
 
+       if ( flags[ 1 ] == 0 )
+               flags[ 1 ] = LDAP_DN_FORMAT_LDAPV3;
+
        f2 = 1;
 
        rc = ldap_str2dn( strin, &dn, flags[ 0 ] );
 
        if ( rc == LDAP_SUCCESS ) {
                int i;
-               if( dn ) {
-                       for ( i = 0; dn[i]; i++ ) {
+               if ( dn ) {
+                       for ( i = 0; dn[ 0 ][ i ]; i++ ) {
                                LDAPRDN         *rdn = dn[ 0 ][ i ];
                                char            *rstr = NULL;
 
@@ -240,7 +243,7 @@ main( int argc, char *argv[] )
                                        LDAPAVA         *a2 = r2[ 0 ][ iAVA ];
 
                                        if ( a->la_attr.bv_len != a2->la_attr.bv_len ) {
-                                               fprintf( stdout, "ava(%d), rdn(%d) attr len mismatch (%d->%d)\n", 
+                                               fprintf( stdout, "ava(%d), rdn(%d) attr len mismatch (%ld->%ld)\n", 
                                                                iAVA + 1, iRDN + 1,
                                                                a->la_attr.bv_len, a2->la_attr.bv_len );
                                        } else if ( memcmp( a->la_attr.bv_val, a2->la_attr.bv_val, a->la_attr.bv_len ) ) {
@@ -250,7 +253,7 @@ main( int argc, char *argv[] )
                                                fprintf( stdout, "ava(%d), rdn(%d) flag mismatch (%x->%x)\n", 
                                                                iAVA + 1, iRDN + 1, a->la_flags, a2->la_flags );
                                        } else if ( a->la_value.bv_len != a2->la_value.bv_len ) {
-                                               fprintf( stdout, "ava(%d), rdn(%d) value len mismatch (%d->%d)\n", 
+                                               fprintf( stdout, "ava(%d), rdn(%d) value len mismatch (%ld->%ld)\n", 
                                                                iAVA + 1, iRDN + 1, 
                                                                a->la_value.bv_len, a2->la_value.bv_len );
                                        } else if ( memcmp( a->la_value.bv_val, a2->la_value.bv_val, a->la_value.bv_len ) ) {