From 3fecaf16a79527b9633c33fe03ee8cb2c2853582 Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sat, 30 Jul 2005 23:37:30 +0000 Subject: Don't strip last character of bare addresses. Clean up INSIDE_DQUOTE path. svn path=/trunk/; revision=4193 --- NEWS | 2 ++ rfc822.c | 9 ++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index f7e49721..807c2fee 100644 --- a/NEWS +++ b/NEWS @@ -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: diff --git a/rfc822.c b/rfc822.c index 0fdc6a5a..8654816b 100644 --- a/rfc822.c +++ b/rfc822.c @@ -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 */ -- cgit v1.2.3