ITS#1328 LDIFv1 CR/LF fix

This commit is contained in:
Kurt Zeilenga 2001-09-25 18:48:48 +00:00
parent e7d3103424
commit 2c1273cd17
2 changed files with 10 additions and 4 deletions

View File

@ -1156,7 +1156,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 {

View File

@ -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,7 +274,13 @@ ldif_getline( char **next )
line = *next;
while ( (*next = strchr( *next, '\n' )) != NULL ) {
unsigned char c = *(*next + 1);
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' ) {
*(*next)++ = '\0';
@ -282,7 +288,7 @@ ldif_getline( char **next )
}
**next = CONTINUED_LINE_MARKER;
*(*next+1) = CONTINUED_LINE_MARKER;
(*next)[1] = CONTINUED_LINE_MARKER;
(*next)++;
}
} while( *line == '#' );