path: root/utf8.h
diff options
authorJunio C Hamano <>2012-10-19 05:41:56 (GMT)
committerJeff King <>2012-11-04 13:10:33 (GMT)
commit0e18bcd5e937b9e5857892e7f5c80c3c5b1da5d4 (patch)
tree65ec6c8c507979ede028373a036d21c6c11ce49c /utf8.h
parent7e2010537e96d0a1144520222f20ba1dc3d61441 (diff)
reencode_string(): introduce and use same_encoding()
Callers of reencode_string() that re-encodes a string from one encoding to another all used ad-hoc way to bypass the case where the input and the output encodings are the same. Some did strcmp(), some did strcasecmp(), yet some others when converting to UTF-8 used is_encoding_utf8(). Introduce same_encoding() helper function to make these callers use the same logic. Notably, is_encoding_utf8() has a work-around for common misconfiguration to use "utf8" to name UTF-8 encoding, which does not match "UTF-8" hence strcasecmp() would not consider the same. Make use of it in this helper function. Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'utf8.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/utf8.h b/utf8.h
index 3c0ae76..93ef600 100644
--- a/utf8.h
+++ b/utf8.h
@@ -7,6 +7,7 @@ int utf8_width(const char **start, size_t *remainder_p);
int utf8_strwidth(const char *string);
int is_utf8(const char *text);
int is_encoding_utf8(const char *name);
+int same_encoding(const char *, const char *);
int strbuf_add_wrapped_text(struct strbuf *buf,
const char *text, int indent, int indent2, int width);