From: Kurt Zeilenga Date: Thu, 27 Sep 2001 23:55:19 +0000 (+0000) Subject: Import CR/LF changes from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_0_16~34 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a192ed287e387ccd2337dc9a461a707d0b15a48c;p=openldap Import CR/LF changes from HEAD --- diff --git a/clients/tools/ldapmodify.c b/clients/tools/ldapmodify.c index a43d1011ae..32fc387df3 100644 --- a/clients/tools/ldapmodify.c +++ b/clients/tools/ldapmodify.c @@ -1152,7 +1152,7 @@ read_one_record( FILE *fp ) while ( fgets( line, sizeof(line), fp ) != NULL ) { int len = strlen( line ); - if( len < 2 ) { + if( len < 2 || ( len == 3 && *line == '\r' )) { if( buf == NULL ) { continue; } else { diff --git a/libraries/libldif/line64.c b/libraries/libldif/line64.c index 947d35a616..626dc6f556 100644 --- a/libraries/libldif/line64.c +++ b/libraries/libldif/line64.c @@ -24,7 +24,7 @@ int ldif_debug = 0; #define RIGHT2 0x03 #define RIGHT4 0x0f -#define CONTINUED_LINE_MARKER '\001' +#define CONTINUED_LINE_MARKER '\r' #ifdef CSRIMALLOC #define ber_memalloc malloc @@ -274,15 +274,22 @@ ldif_getline( char **next ) line = *next; while ( (*next = strchr( *next, '\n' )) != NULL ) { - unsigned char c = *(*next + 1); +#if CONTINUED_LINE_MARKER != '\r' + if ( (*next)[-1] == '\r' ) { + (*next)[-1] = CONTINUED_LINE_MARKER; + } +#endif - if ( !isspace( c ) || c == '\n' ) { + if ( (*next)[1] != ' ' ) { + if ( (*next)[1] == '\r' && (*next)[2] == '\n' ) { + *(*next)++ = '\0'; + } *(*next)++ = '\0'; break; } **next = CONTINUED_LINE_MARKER; - *(*next+1) = CONTINUED_LINE_MARKER; + (*next)[1] = CONTINUED_LINE_MARKER; (*next)++; } } while( *line == '#' );