diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-05-23 13:58:36 -0600 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-23 14:11:03 -0700 |
commit | 2dec02b1ecafc47d4031d0a68a94c775a6a9ff9e (patch) | |
tree | d10c679b706fe1babd1ccc5e52e144c4d62982c5 /mailinfo.c | |
parent | f30b20282babcd77bcadef70b4e36e24cd1f6d59 (diff) | |
download | git-2dec02b1ecafc47d4031d0a68a94c775a6a9ff9e.tar.gz git-2dec02b1ecafc47d4031d0a68a94c775a6a9ff9e.tar.xz |
Allow in body headers beyond the in body header prefix.
- handle_from is fixed to not mangle it's input line.
- Then handle_inbody_header is allowed to look in
the body of a commit message for additional headers
that we haven't already seen.
This allows patches with all of the right information in
unfortunate places to be imported.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'mailinfo.c')
-rw-r--r-- | mailinfo.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/mailinfo.c b/mailinfo.c index a2b15e262..241bfb9e2 100644 --- a/mailinfo.c +++ b/mailinfo.c @@ -72,11 +72,14 @@ static int bogus_from(char *line) return 1; } -static int handle_from(char *line) +static int handle_from(char *in_line) { - char *at = strchr(line, '@'); + char line[1000]; + char *at; char *dst; + strcpy(line, in_line); + at = strchr(line, '@'); if (!at) return bogus_from(line); @@ -242,8 +245,6 @@ static int eatspace(char *line) /* First lines of body can have From:, Date:, and Subject: */ static void handle_inbody_header(int *seen, char *line) { - if (*seen & SEEN_PREFIX) - return; if (!memcmp("From:", line, 5) && isspace(line[5])) { if (!(*seen & SEEN_FROM) && handle_from(line+6)) { *seen |= SEEN_FROM; |