svn commit: r267980 - in stable: 10/sys/libkern 9/sys/libkern

John Baldwin jhb at FreeBSD.org
Fri Jun 27 20:39:46 UTC 2014


Author: jhb
Date: Fri Jun 27 20:39:45 2014
New Revision: 267980
URL: http://svnweb.freebsd.org/changeset/base/267980

Log:
  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

Modified:
  stable/9/sys/libkern/iconv.c
  stable/9/sys/libkern/iconv_ucs.c
Directory Properties:
  stable/9/sys/   (props changed)

Changes in other areas also in this revision:
Modified:
  stable/10/sys/libkern/iconv.c
  stable/10/sys/libkern/iconv_ucs.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/9/sys/libkern/iconv.c
==============================================================================
--- stable/9/sys/libkern/iconv.c	Fri Jun 27 20:34:22 2014	(r267979)
+++ stable/9/sys/libkern/iconv.c	Fri Jun 27 20:39:45 2014	(r267980)
@@ -167,8 +167,8 @@ iconv_lookupcs(const char *to, const cha
 	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;

Modified: stable/9/sys/libkern/iconv_ucs.c
==============================================================================
--- stable/9/sys/libkern/iconv_ucs.c	Fri Jun 27 20:34:22 2014	(r267979)
+++ stable/9/sys/libkern/iconv_ucs.c	Fri Jun 27 20:39:45 2014	(r267980)
@@ -102,9 +102,9 @@ iconv_ucs_open(struct iconv_converter_cl
 	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)


More information about the svn-src-stable-9 mailing list