summaryrefslogtreecommitdiffstats
path: root/misc/charset_conv.c
diff options
context:
space:
mode:
authorMartin Herkt <lachs0r@srsfckn.biz>2016-01-18 07:27:03 +0100
committerMartin Herkt <lachs0r@srsfckn.biz>2016-01-18 07:27:03 +0100
commitba9b2f1e49732d597009ba514b0132a50562cd10 (patch)
treefa05f5feb181823ac9d3b5682a835ff825de6914 /misc/charset_conv.c
parente1993d5ad2bdf3dd4c26474aaa2370cbc9c1cd1b (diff)
parent7b4ccb3e9f58a0745b58e473ee6e60b381242813 (diff)
downloadmpv-ba9b2f1e49732d597009ba514b0132a50562cd10.tar.bz2
mpv-ba9b2f1e49732d597009ba514b0132a50562cd10.tar.xz
Merge branch 'master' into release/current
Diffstat (limited to 'misc/charset_conv.c')
-rw-r--r--misc/charset_conv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/misc/charset_conv.c b/misc/charset_conv.c
index 3e7e47cc58..0037775586 100644
--- a/misc/charset_conv.c
+++ b/misc/charset_conv.c
@@ -52,6 +52,13 @@ bool mp_charset_is_utf8(const char *user_cp)
strcasecmp(user_cp, "utf-8") == 0);
}
+bool mp_charset_is_utf16(const char *user_cp)
+{
+ bstr s = bstr0(user_cp);
+ return bstr_case_startswith(s, bstr0("utf16")) ||
+ bstr_case_startswith(s, bstr0("utf-16"));
+}
+
// Split the string on ':' into components.
// out_arr is at least max entries long.
// Return number of out_arr entries filled.
@@ -179,6 +186,8 @@ static const char *mp_uchardet(void *talloc_ctx, struct mp_log *log, bstr buf)
iconv_close(icdsc);
}
}
+ if (!res && bstr_validate_utf8(buf) >= 0)
+ res = "utf-8";
uchardet_delete(det);
return res;
}