Code

Allow in body headers beyond the in body header prefix.
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 23 May 2006 19:58:36 +0000 (13:58 -0600)
committerJunio C Hamano <junkio@cox.net>
Tue, 23 May 2006 21:11:03 +0000 (14:11 -0700)
- 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>
mailinfo.c

index a2b15e2624702c90bd05d5a457df4c03694020c3..241bfb9e25d54ab2620c456830ad622db9405023 100644 (file)
@@ -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;