summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 0e26f7a)
raw | patch | inline | side by side (parent: 0e26f7a)
author | Junio C Hamano <junkio@cox.net> | |
Mon, 19 Jun 2006 22:00:17 +0000 (15:00 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 20 Jun 2006 01:43:30 +0000 (18:43 -0700) |
Running git-format-patch on patches from Lukas destroyed
the From: line. This fixes it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
the From: line. This fixes it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
commit.c | patch | blob | history |
diff --git a/commit.c b/commit.c
index 0fa1198282c794b0dc9504cf5ca1432239256a05..946615d2ad5c364fe63b201aa9a9574737804c38 100644 (file)
--- a/commit.c
+++ b/commit.c
memcpy(bp, q_utf8, sizeof(q_utf8)-1);
bp += sizeof(q_utf8)-1;
for (i = 0; i < len; i++) {
- unsigned ch = line[i];
+ unsigned ch = line[i] & 0xFF;
if (is_rfc2047_special(ch)) {
sprintf(bp, "=%02X", ch);
bp += 3;
@@ -571,10 +571,23 @@ unsigned long pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit
* to say this is not a 7-bit ASCII.
*/
if (fmt == CMIT_FMT_EMAIL && !after_subject) {
- int i;
- for (i = 0; !plain_non_ascii && msg[i] && i < len; i++)
- if (msg[i] & 0x80)
+ int i, ch, in_body;
+
+ for (in_body = i = 0; (ch = msg[i]) && i < len; i++) {
+ if (!in_body) {
+ /* author could be non 7-bit ASCII but
+ * the log may so; skip over the
+ * header part first.
+ */
+ if (ch == '\n' &&
+ i + 1 < len && msg[i+1] == '\n')
+ in_body = 1;
+ }
+ else if (ch & 0x80) {
plain_non_ascii = 1;
+ break;
+ }
+ }
}
for (;;) {