svn commit: r332658 - head/x11-wm/icewm/files

Eitan Adler eadler at FreeBSD.org
Mon Nov 4 01:01:19 UTC 2013


Author: eadler
Date: Mon Nov  4 01:01:18 2013
New Revision: 332658
URL: http://svnweb.freebsd.org/changeset/ports/332658

Log:
  Fix icewm's buggy use of iconv which causes it to fail on 10.x.
  
  PR:		ports/182307
  Submitted by:	Wolfgang Zenker <wolfgang at lyxys.ka.sub.org> (incl. patch and testing)
  PR:		ports/183626
  Submitted by:	Pavlo Greenberg <dog at virtual.org.ua>

Modified:
  head/x11-wm/icewm/files/patch-src_ylocale.cc

Modified: head/x11-wm/icewm/files/patch-src_ylocale.cc
==============================================================================
--- head/x11-wm/icewm/files/patch-src_ylocale.cc	Mon Nov  4 00:14:08 2013	(r332657)
+++ head/x11-wm/icewm/files/patch-src_ylocale.cc	Mon Nov  4 01:01:18 2013	(r332658)
@@ -1,6 +1,20 @@
---- src/ylocale.cc.orig	Mon Aug  7 03:38:14 2006
-+++ src/ylocale.cc	Tue Aug  8 01:00:33 2006
-@@ -149,7 +149,8 @@
+--- src/ylocale.cc.orig	2013-11-03 19:58:39.180727369 -0500
++++ src/ylocale.cc	2013-11-03 19:58:51.540725980 -0500
+@@ -126,8 +126,12 @@ YLocale::~YLocale() {
+ iconv_t YLocale::getConverter (const char *from, const char **&to) {
+     iconv_t cd = (iconv_t) -1;
+ 
++    char *myfrom = (char *)malloc(1 + strlen(from));
++    strcpy(myfrom, from);
++    char *modptr = strstr(myfrom, "//");
++    if (NULL != modptr) *modptr = '\0';
+     while (NULL != *to)
+-        if ((iconv_t) -1 != (cd = iconv_open(*to, from))) return cd;
++        if ((iconv_t) -1 != (cd = iconv_open(*to, myfrom))) return cd;
+         else ++to;
+ 
+     return (iconv_t) -1;
+@@ -149,7 +153,8 @@ YUChar *YLocale::unicodeString(const YLC
          return NULL;
  
      YUChar * uStr(new YUChar[lLen + 1]);


More information about the svn-ports-all mailing list