aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2002-09-17 10:54:53 +0800
committermarcus <marcus@FreeBSD.org>2002-09-17 10:54:53 +0800
commit384ce10dcbb1552d186ea24facf5f74b4d7faaca (patch)
tree4bf7749c4319cf0dd8db6f5e6cf045c51afb2d4a
parent5bb26080fa2bec4c54fdbdad11a4ddd0f0e4458a (diff)
downloadfreebsd-ports-gnome-384ce10dcbb1552d186ea24facf5f74b4d7faaca.tar.gz
freebsd-ports-gnome-384ce10dcbb1552d186ea24facf5f74b4d7faaca.tar.zst
freebsd-ports-gnome-384ce10dcbb1552d186ea24facf5f74b4d7faaca.zip
Fix the charset tag for ISO locales. Thanks to
Matthias Andree <matthias.andree@web.de> for help with this patch and with testing. Bump PORTREVISION. PR: 42825
-rw-r--r--news/pan/Makefile1
-rw-r--r--news/pan/files/patch-gmime_gmime-charset.c30
2 files changed, 31 insertions, 0 deletions
diff --git a/news/pan/Makefile b/news/pan/Makefile
index 713490c0698b..1410f84fb48c 100644
--- a/news/pan/Makefile
+++ b/news/pan/Makefile
@@ -7,6 +7,7 @@
PORTNAME= pan
PORTVERSION= 0.11.4
+PORTREVISION= 1
CATEGORIES= news gnome
MASTER_SITES= http://pan.rebelbase.com/download/releases/${PORTVERSION}/SOURCE/ \
http://pan.rebelbase.com/download/obsolete/${PORTVERSION}/SOURCE/ \
diff --git a/news/pan/files/patch-gmime_gmime-charset.c b/news/pan/files/patch-gmime_gmime-charset.c
new file mode 100644
index 000000000000..b5e338155795
--- /dev/null
+++ b/news/pan/files/patch-gmime_gmime-charset.c
@@ -0,0 +1,30 @@
+--- gmime/gmime-charset.c.orig Tue Dec 18 15:09:40 2001
++++ gmime/gmime-charset.c Mon Sep 16 22:48:48 2002
+@@ -69,15 +69,23 @@
+ * codeset is a character set or encoding identifier like
+ * ISO-8859-1 or UTF-8.
+ */
+- char *codeset, *p;
++ char *codeset, *tmp = NULL;
+
+ codeset = strchr (locale, '.');
+ if (codeset) {
+ codeset++;
+
+- /* ; is a hack for debian systems and / is a hack for Solaris systems */
+- for (p = codeset; *p && !strchr ("@;/", *p); p++);
+- locale_charset = g_strndup (codeset, (unsigned) (p - codeset));
++ if (strncasecmp(codeset, "iso", 3) == 0 &&
++ strlen(codeset) > 3 &&
++ strncasecmp(codeset, "iso-", 4) != 0) {
++ tmp = (char *)g_malloc(strlen(codeset) + 2);
++ strcpy(tmp, "iso");
++ strcat(tmp, "-");
++ strcat(tmp, (codeset + 3));
++ codeset = tmp;
++ }
++ locale_charset = g_strndup (codeset, strcspn(codeset, "@;/"));
++ if (tmp != NULL) g_free(tmp);
+ g_strdown (locale_charset);
+ } else {
+ /* charset unknown */