pretty.c: use original commit message if reencoding fails
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Sun, 23 Oct 2011 11:51:35 +0000 (22:51 +1100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Oct 2011 04:34:23 +0000 (21:34 -0700)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
pretty.c

index 34d668cc300b63650094202745850e45063a4d72..f00933f2e8169b132965518056e161a2ddfaab5b 100644 (file)
--- a/pretty.c
+++ b/pretty.c
@@ -1022,8 +1022,11 @@ void format_commit_message(const struct commit *commit,
        context.message = commit->buffer;
        if (output_enc) {
                char *enc = get_header(commit, "encoding");
-               if (strcmp(enc ? enc : utf8, output_enc))
+               if (strcmp(enc ? enc : utf8, output_enc)) {
                        context.message = logmsg_reencode(commit, output_enc);
+                       if (!context.message)
+                               context.message = commit->buffer;
+               }
                free(enc);
        }