Add helpers get_log_output_encoding() and get_commit_output_encoding() that eliminate some messy and duplicate if-blocks. Signed-off-by: Pat Notz <patnotz@xxxxxxxxx> --- builtin/commit.c | 2 +- cache.h | 3 +++ environment.c | 11 +++++++++++ pretty.c | 6 +----- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/builtin/commit.c b/builtin/commit.c index 9fe4bdc..ea3801d 100644 --- a/builtin/commit.c +++ b/builtin/commit.c @@ -905,7 +905,7 @@ static int parse_and_validate_options(int argc, const char *argv[], enc = get_header(commit, "encoding"); enc = enc ? enc : utf8; - out_enc = git_commit_encoding ? git_commit_encoding : utf8; + out_enc = get_commit_output_encoding(); if (strcmp(out_enc, enc)) use_message_buffer = diff --git a/cache.h b/cache.h index 3d5ed51..7d49805 100644 --- a/cache.h +++ b/cache.h @@ -1003,6 +1003,9 @@ extern int git_env_bool(const char *, int); extern int git_config_system(void); extern int git_config_global(void); extern int config_error_nonbool(const char *); +extern const char *get_log_output_encoding(void); +extern const char *get_commit_output_encoding(void); + extern const char *config_exclusive_filename; #define MAX_GITNAME (1000) diff --git a/environment.c b/environment.c index de5581f..a9d44a2 100644 --- a/environment.c +++ b/environment.c @@ -192,3 +192,14 @@ int set_git_dir(const char *path) setup_git_env(); return 0; } + +const char *get_log_output_encoding(void) +{ + return git_log_output_encoding ? git_log_output_encoding + : get_commit_output_encoding(); +} + +const char *get_commit_output_encoding(void) +{ + return git_commit_encoding ? git_commit_encoding : "UTF-8"; +} diff --git a/pretty.c b/pretty.c index 839944c..a607fd6 100644 --- a/pretty.c +++ b/pretty.c @@ -1159,11 +1159,7 @@ char *reencode_commit_message(const struct commit *commit, const char **encoding { const char *encoding; - encoding = (git_log_output_encoding - ? git_log_output_encoding - : git_commit_encoding); - if (!encoding) - encoding = "UTF-8"; + encoding = get_log_output_encoding(); if (encoding_p) *encoding_p = encoding; return logmsg_reencode(commit, encoding); -- 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