From: Kurt Zeilenga Date: Mon, 30 Oct 2000 18:57:28 +0000 (+0000) Subject: Import whitespace sqeeze X-Git-Tag: OPENLDAP_REL_ENG_2_0_7~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d12915b80a8e5b02db54d4016707a3ffe99f0b7;p=thirdparty%2Fopenldap.git Import whitespace sqeeze --- diff --git a/servers/slapd/dn.c b/servers/slapd/dn.c index a20d5a2cb5..a5ff45d71b 100644 --- a/servers/slapd/dn.c +++ b/servers/slapd/dn.c @@ -34,10 +34,11 @@ */ char * -dn_validate( char *dn ) +dn_validate( char *dn_in ) { char *d, *s; int state, gotesc; + char *dn = dn_in; gotesc = 0; state = B4LEADTYPE; @@ -121,7 +122,7 @@ dn_validate( char *dn ) !RDN_SEPARATOR( *s ) ) { *--d = *s; d++; - } else { + } else if( !ASCII_SPACE( *s ) || !ASCII_SPACE( *(d - 1) ) ) { *d++ = *s; } break; @@ -133,7 +134,7 @@ dn_validate( char *dn ) } else if ( gotesc && !RDN_NEEDSESCAPE( *s ) ) { *--d = *s; d++; - } else { + } else if( !ASCII_SPACE( *s ) || !ASCII_SPACE( *(d - 1) ) ) { *d++ = *s; } break; @@ -142,6 +143,8 @@ dn_validate( char *dn ) if ( RDN_SEPARATOR( *s ) ) { state = B4TYPE; *d++ = *s; + } else if ( !ASCII_SPACE( *s ) ) { + dn = NULL; } break; @@ -158,6 +161,11 @@ dn_validate( char *dn ) gotesc = 0; } } + + /* trim trailing spaces */ + while( d > dn_in && ASCII_SPACE( *(d-1) ) ) { + --d; + } *d = '\0'; if( gotesc ) {