Skip to content

Commit

Permalink
commit-tree: cope with different ways "utf-8" can be spelled.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Junio C Hamano committed Dec 30, 2006
1 parent 7cbcf4d commit 677cfed
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
3 changes: 1 addition & 2 deletions builtin-commit-tree.c
Expand Up @@ -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));
Expand Down
9 changes: 9 additions & 0 deletions utf8.c
Expand Up @@ -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.
Expand Down
2 changes: 2 additions & 0 deletions utf8.h
Expand Up @@ -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
Expand Down

0 comments on commit 677cfed

Please sign in to comment.