pretty.c: use original commit message if reencoding fails
[gitweb.git] / 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);
        }