diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | netrc.c | 37 |
2 files changed, 34 insertions, 4 deletions
@@ -47,6 +47,7 @@ fetchmail-4.3.7 () multidrop environment. * Doug Muth's runfetchmail version 1.1. * Minor port patches from Philippe De Muyter. +* Patch by Chun-Chung Chen <cjj@u.washington.edu> to handle quotes in .netrc fetchmail-4.3.6 (Fri Jan 23 00:25:57 EST 1998) * Improved RPM packaging with correct grouping and an icon. @@ -133,6 +133,9 @@ parse_netrc (file) /* If we are defining macros, then skip parsing the line. */ while (*p && last_token != tok_macdef) { + char quote_char = 0; + char *pp; + /* Skip any whitespace. */ while (*p && isspace (*p)) p++; @@ -141,15 +144,41 @@ parse_netrc (file) if (*p == '#') break; - tok = p; + tok = pp = p; /* Find the end of the token. */ - while (*p && !isspace (*p)) - p ++; - + while (*p && (quote_char || !isspace (*p))) + { + if (quote_char) + { + if (quote_char == *p) + { + quote_char = 0; + p ++; + } + else + { + *pp = *p; + p ++; + pp ++; + } + } + else + { + if (*p == '"' || *p == '\'') + quote_char = *p; + else + { + *pp = *p; + pp ++; + } + p ++; + } + } /* Null-terminate the token, if it isn't already. */ if (*p) *p ++ = '\0'; + *pp = 0; switch (last_token) { |