Signed-off-by: Pat Notz <patnotz@xxxxxxxxx> --- builtin/commit.c | 11 +++-------- commit.h | 1 + pretty.c | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/builtin/commit.c b/builtin/commit.c index 66fdd22..bf9fcc1 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -899,7 +899,7 @@ static int parse_and_validate_options(int argc, const char *argv[], unsigned char sha1[20]; static char utf8[] = "UTF-8"; const char *out_enc; - char *enc, *end; + char *enc; struct commit *commit; if (get_sha1(use_message, sha1)) @@ -908,13 +908,8 @@ static int parse_and_validate_options(int argc, const char *argv[], if (!commit || parse_commit(commit)) die("could not parse commit %s", use_message); - enc = strstr(commit->buffer, "\nencoding"); - if (enc) { - end = strchr(enc + 10, '\n'); - enc = xstrndup(enc + 10, end - (enc + 10)); - } else { - enc = utf8; - } + enc = get_header(commit, "encoding"); + enc = enc ? enc : utf8; out_enc = git_commit_encoding ? git_commit_encoding : utf8; if (strcmp(out_enc, enc)) diff --git a/commit.h b/commit.h index 9113bbe..c246c94 100644 --- a/commit.h +++ b/commit.h @@ -87,6 +87,7 @@ struct rev_info; /* in revision.h, it circularly uses enum cmit_fmt */ extern char *reencode_commit_message(const struct commit *commit, const char **encoding_p); extern void get_commit_format(const char *arg, struct rev_info *); +extern char *get_header(const struct commit *commit, const char *key); extern void userformat_find_requirements(const char *fmt, struct userformat_want *w); extern void format_commit_message(const struct commit *commit, const char *format, struct strbuf *sb, diff --git a/pretty.c b/pretty.c index f85444b..839944c 100644 --- a/pretty.c +++ b/pretty.c @@ -348,7 +348,7 @@ static void add_merge_info(enum cmit_fmt fmt, struct strbuf *sb, strbuf_addch(sb, '\n'); } -static char *get_header(const struct commit *commit, const char *key) +char *get_header(const struct commit *commit, const char *key) { int key_len = strlen(key); const char *line = commit->buffer; -- 1.7.3.1 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html