diff --git a/src/ChangeLog b/src/ChangeLog index d7d60c69..99709be5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,18 @@ +2001-04-02 Hrvoje Niksic + + * netrc.c (parse_netrc): Don't trim the line endings explicitly; + they will be handled as whitespace. + (parse_netrc): Correctly handle lines that end with whitespace. + +2001-04-02 Hrvoje Niksic + + * retr.c (retrieve_url): New variable global_download_count used + to identify first retrieval. + + * ftp.c (getftp): Ditto. + + * http.c (gethttp): Rewind opt.dfp only on first retrieval. + 2001-04-02 Hrvoje Niksic * init.c (cmd_address): Heap-allocate the address that gets stored diff --git a/src/netrc.c b/src/netrc.c index 7f7601a2..9777e9e2 100644 --- a/src/netrc.c +++ b/src/netrc.c @@ -269,13 +269,6 @@ parse_netrc (const char *path) /* While there are lines in the file... */ while ((line = read_whole_line (fp))) { - /* Do away with line separators. */ - int len = strlen (line); - if (len && line[len - 1] == '\n') - line[--len] = '\0'; - if (len && line[len - 1] == '\r') - line[--len] = '\0'; - ln ++; /* Parse the line. */ @@ -294,8 +287,9 @@ parse_netrc (const char *path) while (*p && ISSPACE (*p)) p ++; - /* Discard end-of-line comments. */ - if (*p == '#') + /* Discard end-of-line comments; also, stop processing if + the above `while' merely skipped trailing whitespace. */ + if (*p == '#' || !*p) break; /* If the token starts with quotation mark, note this fact,