diff options
author | jhb <jhb@FreeBSD.org> | 2014-06-27 20:39:45 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2014-06-27 20:39:45 +0000 |
commit | 6af57d4a5eee2f98359ce44ef78a0b6afab528dc (patch) | |
tree | dde613fb6e86391038f65fa041a4c51417cefd8d /sys | |
parent | ef9a2f4c5e9ed0751f5411e9b5fa18ec667529a0 (diff) | |
download | FreeBSD-src-6af57d4a5eee2f98359ce44ef78a0b6afab528dc.zip FreeBSD-src-6af57d4a5eee2f98359ce44ef78a0b6afab528dc.tar.gz |
MFC 267291:
Use strcasecmp() instead of strcmp() when checking user-supplied encoding
names so that encoding names are treated as case-insensitive. This allows
the use of 'utf-8' instead of 'UTF-8' for example and matches the behavior
of iconv(1).
PR: 167977
Diffstat (limited to 'sys')
-rw-r--r-- | sys/libkern/iconv.c | 4 | ||||
-rw-r--r-- | sys/libkern/iconv_ucs.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/libkern/iconv.c b/sys/libkern/iconv.c index dcdb119..e4191a0 100644 --- a/sys/libkern/iconv.c +++ b/sys/libkern/iconv.c @@ -168,8 +168,8 @@ iconv_lookupcs(const char *to, const char *from, struct iconv_cspair **cspp) struct iconv_cspair *csp; TAILQ_FOREACH(csp, &iconv_cslist, cp_link) { - if (strcmp(csp->cp_to, to) == 0 && - strcmp(csp->cp_from, from) == 0) { + if (strcasecmp(csp->cp_to, to) == 0 && + strcasecmp(csp->cp_from, from) == 0) { if (cspp) *cspp = csp; return 0; diff --git a/sys/libkern/iconv_ucs.c b/sys/libkern/iconv_ucs.c index 30810eb..047436d 100644 --- a/sys/libkern/iconv_ucs.c +++ b/sys/libkern/iconv_ucs.c @@ -102,9 +102,9 @@ iconv_ucs_open(struct iconv_converter_class *dcp, if (cspf) dp->convtype |= KICONV_UCS_COMBINE; for (i = 0; unicode_family[i].name; i++) { - if (strcmp(from, unicode_family[i].name) == 0) + if (strcasecmp(from, unicode_family[i].name) == 0) dp->convtype |= unicode_family[i].from_flag; - if (strcmp(to, unicode_family[i].name) == 0) + if (strcasecmp(to, unicode_family[i].name) == 0) dp->convtype |= unicode_family[i].to_flag; } if (strcmp(ENCODING_UNICODE, ENCODING_UTF16) == 0) |