aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--driver.c19
2 files changed, 20 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 3cde1fb0..734d564f 100644
--- a/NEWS
+++ b/NEWS
@@ -40,6 +40,8 @@ bugs --
* --keep no longer overrides --flush.
+* Rewrite "To: jrh (J. Random Hacker)" correctly.
+
fetchmail-1.8 (Fri Oct 11 15:08:10 EDT 1996):
features --
diff --git a/driver.c b/driver.c
index dec8e7e8..8bc214aa 100644
--- a/driver.c
+++ b/driver.c
@@ -102,7 +102,24 @@ const char *host; /* server hostname */
/* If the address token is not properly terminated, ignore it. */
else if (*from == ' ' || *from == '\t')
- state = 1;
+ {
+ const char *cp;
+
+ /*
+ * The only lookahead case. If we're looking at space or tab,
+ * we might be looking at a local name immediately followed
+ * by a human name.
+ */
+ for (cp = from; isspace(*cp); cp++)
+ continue;
+ if (*cp == '(')
+ {
+ strcpy(buf, "@");
+ strcat(buf, host);
+ buf += strlen(buf);
+ state = 1;
+ }
+ }
/*
* On proper termination with no @, insert hostname.