diff options
author | Junio C Hamano <junkio@cox.net> | 2006-12-30 12:20:43 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-30 15:58:43 -0800 |
commit | 677cfed56ac530878b746ee4cca3ada8af384a81 (patch) | |
tree | 19b8162432db50d0940067236af6ec8791a9ac03 | |
parent | 7cbcf4d5579bdc5d9f8a4bf3f37d3390fc6e2572 (diff) | |
download | git-677cfed56ac530878b746ee4cca3ada8af384a81.tar.gz git-677cfed56ac530878b746ee4cca3ada8af384a81.tar.xz |
commit-tree: cope with different ways "utf-8" can be spelled.
People can spell config.commitencoding differently from what we
internally have ("utf-8") to mean UTF-8. Try to accept them and
treat them equally.
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | builtin-commit-tree.c | 3 | ||||
-rw-r--r-- | utf8.c | 9 | ||||
-rw-r--r-- | utf8.h | 2 |
3 files changed, 12 insertions, 2 deletions
diff --git a/builtin-commit-tree.c b/builtin-commit-tree.c index 146aaffd2..0651e5927 100644 --- a/builtin-commit-tree.c +++ b/builtin-commit-tree.c @@ -119,8 +119,7 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix) } /* Not having i18n.commitencoding is the same as having utf-8 */ - encoding_is_utf8 = (!git_commit_encoding || - !strcmp(git_commit_encoding, "utf-8")); + encoding_is_utf8 = is_encoding_utf8(git_commit_encoding); init_buffer(&buffer, &size); add_buffer(&buffer, &size, "tree %s\n", sha1_to_hex(tree_sha1)); @@ -277,6 +277,15 @@ void print_wrapped_text(const char *text, int indent, int indent2, int width) } } +int is_encoding_utf8(const char *name) +{ + if (!name) + return 1; + if (!strcasecmp(name, "utf-8") || !strcasecmp(name, "utf8")) + return 1; + return 0; +} + /* * Given a buffer and its encoding, return it re-encoded * with iconv. If the conversion fails, returns NULL. @@ -3,6 +3,8 @@ int utf8_width(const char **start); int is_utf8(const char *text); +int is_encoding_utf8(const char *name); + void print_wrapped_text(const char *text, int indent, int indent2, int len); #ifndef NO_ICONV |