diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2005-07-30 23:37:30 +0000 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2005-07-30 23:37:30 +0000 |
commit | 3fecaf16a79527b9633c33fe03ee8cb2c2853582 (patch) | |
tree | d083f3aaf303eccd077c1cf4d5e2025b14f675fe | |
parent | 4c159159d296e30c59fa780299644d71b2e52d3d (diff) | |
download | fetchmail-3fecaf16a79527b9633c33fe03ee8cb2c2853582.tar.gz fetchmail-3fecaf16a79527b9633c33fe03ee8cb2c2853582.tar.bz2 fetchmail-3fecaf16a79527b9633c33fe03ee8cb2c2853582.zip |
Don't strip last character of bare addresses.
Clean up INSIDE_DQUOTE path.
svn path=/trunk/; revision=4193
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | rfc822.c | 9 |
2 files changed, 4 insertions, 7 deletions
@@ -153,6 +153,8 @@ OTHER CHANGES: bug reports such as Debian Bug #224564. Matthias Andree * Rename lock_release to fm_lock_release, to avoid namespace collision on Darwin. NetBSD PR#28543 (pkg/28543). Matthias Andree. +* The RFC-822 parser no longer strips the last character of bare addresses. + Matthias Andree fetchmail-6.2.5 (Wed Oct 15 18:39:22 EDT 2003), 23079 lines: @@ -264,7 +264,6 @@ unsigned char *nxtaddr(const unsigned char *hdr /* header to be parsed, NUL to c state = ENDIT_ALL; if (tp) { - --tp; while (tp >= 0 && isspace(address[tp--])) continue; address[++tp] = '\0'; @@ -346,13 +345,9 @@ unsigned char *nxtaddr(const unsigned char *hdr /* header to be parsed, NUL to c break; case INSIDE_DQUOTE: /* we're in a quoted string, copy verbatim */ - if (*hp != '"') - address[NEXTTP()] = *hp; - else - { - address[NEXTTP()] = *hp; + address[NEXTTP()] = *hp; + if (*hp == '"') state = oldstate; - } break; case INSIDE_PARENS: /* we're in a parenthesized comment, ignore */ |