Teach fmt-patch about --numbered
[git.git] / commit.c
index af747bd..93b3903 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -442,7 +442,8 @@ static int add_user_info(const char *what, enum cmit_fmt fmt, char *buf, const c
                ret += sprintf(buf + ret, "Date:   %s\n", show_date(time, tz));
                break;
        case CMIT_FMT_EMAIL:
-               ret += sprintf(buf + ret, "Date: %s\n", show_date(time, tz));
+               ret += sprintf(buf + ret, "Date: %s\n",
+                              show_rfc2822_date(time, tz));
                break;
        case CMIT_FMT_FULLER:
                ret += sprintf(buf + ret, "%sDate: %s\n", what, show_date(time, tz));
@@ -488,17 +489,14 @@ static int add_merge_info(enum cmit_fmt fmt, char *buf, const struct commit *com
        return offset;
 }
 
-unsigned long pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, unsigned long len, char *buf, unsigned long space, int abbrev)
+unsigned long pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, unsigned long len, char *buf, unsigned long space, int abbrev, const char *subject)
 {
        int hdr = 1, body = 0;
        unsigned long offset = 0;
        int indent = 4;
        int parents_shown = 0;
        const char *msg = commit->buffer;
-       const char *subject = NULL;
 
-       if (fmt == CMIT_FMT_EMAIL)
-               subject = "Subject: ";
        if (fmt == CMIT_FMT_ONELINE || fmt == CMIT_FMT_EMAIL)
                indent = 0;
 
@@ -574,8 +572,9 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit
                }
 
                if (subject) {
-                       memcpy(buf + offset, subject, 9);
-                       offset += 9;
+                       int slen = strlen(subject);
+                       memcpy(buf + offset, subject, slen);
+                       offset += slen;
                }
                memset(buf + offset, ' ', indent);
                memcpy(buf + offset + indent, line, linelen);