diff options
author | marcus <marcus@FreeBSD.org> | 2002-09-17 10:54:53 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2002-09-17 10:54:53 +0800 |
commit | 384ce10dcbb1552d186ea24facf5f74b4d7faaca (patch) | |
tree | 4bf7749c4319cf0dd8db6f5e6cf045c51afb2d4a | |
parent | 5bb26080fa2bec4c54fdbdad11a4ddd0f0e4458a (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | news/pan/files/patch-gmime_gmime-charset.c | 30 |
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 */ |