]> git.sur5r.net Git - openldap/commitdiff
partially revert prev commit
authorHoward Chu <hyc@openldap.org>
Fri, 6 Nov 2009 02:20:40 +0000 (02:20 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 6 Nov 2009 02:20:40 +0000 (02:20 +0000)
libraries/libldap/getdn.c

index fc525034000eeb9d51d89d6ba0fe0ad6448d51e8..540c2d26723d88365737042cb8498bde7ff16b1d 100644 (file)
@@ -2133,13 +2133,12 @@ strval2str( struct berval *val, char *str, unsigned flags, ber_len_t *len )
                 * The length was checked in strval2strlen();
                 */
                cl = LDAP_UTF8_CHARLEN( &val->bv_val[ s ] );
-
+               
                /* 
                 * there might be some chars we want to escape in form
                 * of a couple of hexdigits for optimization purposes
                 */
-               if ( cl > 1 ) {
-                       if ( !LDAP_DN_IS_PRETTY( flags )
+               if ( ( cl > 1 && !LDAP_DN_IS_PRETTY( flags ) ) 
 #ifdef PRETTY_ESCAPE
 #if 0
                                || LDAP_DN_WILLESCAPE_HEX( flags, val->bv_val[ s ] ) 
@@ -2154,17 +2153,16 @@ strval2str( struct berval *val, char *str, unsigned flags, ber_len_t *len )
 
 #endif /* ! PRETTY_ESCAPE */
                                ) {
-                               for ( ; cl--; ) {
-                                       str[ d++ ] = '\\';
-                                       byte2hexpair( &val->bv_val[ s ], &str[ d ] );
-                                       s++;
-                                       d += 2;
-                               }
+                       for ( ; cl--; ) {
+                               str[ d++ ] = '\\';
+                               byte2hexpair( &val->bv_val[ s ], &str[ d ] );
+                               s++;
+                               d += 2;
+                       }
 
-                       } else {
-                               for ( ; cl--; ) {
-                                       str[ d++ ] = val->bv_val[ s++ ];
-                               }
+               } else if ( cl > 1 ) {
+                       for ( ; cl--; ) {
+                               str[ d++ ] = val->bv_val[ s++ ];
                        }
 
                } else {