2004-11-15 [colin] 0.9.12cvs146.10
authorColin Leroy <colin@colino.net>
Mon, 15 Nov 2004 08:47:21 +0000 (08:47 +0000)
committerColin Leroy <colin@colino.net>
Mon, 15 Nov 2004 08:47:21 +0000 (08:47 +0000)
* src/codeconv.c
More unreadable locale fixes

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/codeconv.c

index ed1c85eba29a05484bf6b9b8bc4ab851d1b6cc1e..b78b872c155dbf3d33b30e6ad0609392f2389ebd 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-15 [colin]     0.9.12cvs146.10
+
+       * src/codeconv.c
+               More unreadable locale fixes
+
 2004-11-14 [colin]     0.9.12cvs146.9
 
        * src/textview.c
index 6632d291968bb3f73ba7197b42b269adbb20fcfb..79488ad7faaeda7e9da77d989cc053dd852873bd 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.63 -r 1.382.2.64 src/compose.c; cvs diff -u -r 1.5.2.3 -r 1.5.2.4 src/exporthtml.c; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/exportldif.c; cvs diff -u -r 1.213.2.20 -r 1.213.2.21 src/folder.c; cvs diff -u -r 1.179.2.13 -r 1.179.2.14 src/imap.c; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/imap_gtk.c; cvs diff -u -r 1.115.2.22 -r 1.115.2.23 src/main.c; cvs diff -u -r 1.274.2.23 -r 1.274.2.24 src/mainwindow.c; cvs diff -u -r 1.94.2.32 -r 1.94.2.33 src/messageview.c; cvs diff -u -r 1.2.2.3 -r 1.2.2.4 src/mh_gtk.c; cvs diff -u -r 1.3.2.10 -r 1.3.2.11 src/prefs_themes.c; cvs diff -u -r 1.49.2.19 -r 1.49.2.20 src/procmime.c; cvs diff -u -r 1.5.2.2 -r 1.5.2.3 src/setup.c; cvs diff -u -r 1.395.2.39 -r 1.395.2.40 src/summaryview.c; ) > 0.9.12cvs146.7.patchset
 ( cvs diff -u -r 1.213.2.21 -r 1.213.2.22 src/folder.c; cvs diff -u -r 1.49.2.20 -r 1.49.2.21 src/procmime.c; ) > 0.9.12cvs146.8.patchset
 ( cvs diff -u -r 1.96.2.34 -r 1.96.2.35 src/textview.c; ) > 0.9.12cvs146.9.patchset
+( cvs diff -u -r 1.65.2.18 -r 1.65.2.19 src/codeconv.c; ) > 0.9.12cvs146.10.patchset
index e1b3c3f6a74401ab343a40334b1092795ee6740d..d2c72da2290123af07b3f3d72624536acdea0315 100644 (file)
@@ -13,7 +13,7 @@ INTERFACE_AGE=0
 BINARY_AGE=0
 EXTRA_VERSION=146
 EXTRA_RELEASE=
-EXTRA_GTK2_VERSION=.9
+EXTRA_GTK2_VERSION=.10
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
index 18d91d669e0c83c2b95cc9785aabb26dad4727e9..8df7f211350d1ed7297012a5550e149249bac3c7 100644 (file)
@@ -577,10 +577,10 @@ void conv_unreadable_latin(gchar *str)
 void conv_unreadable_utf8(gchar *str)
 {
        register guchar *p = str;
-printf("in %s\n", str);
+
        while (*p != '\0') {
                /* convert CR+LF -> LF */
-printf("p %x(%c) - %x\n",*p, *p, (*p & 0xff));
+
                if (*p == '\r' && *(p + 1) == '\n')
                        memmove(p, p + 1, strlen(p));
                else if (((*p & 0xff) >= 0x7f) 
@@ -588,7 +588,6 @@ printf("p %x(%c) - %x\n",*p, *p, (*p & 0xff));
                        *p = SUBST_CHAR;
                p++;
        }
-printf("out %s\n", str);
 }
 
 void conv_unreadable_locale(gchar *str)
@@ -1462,8 +1461,6 @@ void conv_unmime_header(gchar *outbuf, gint outlen, const gchar *str,
 
        memset(outbuf, 0, outlen);
        
-#warning FIXME_GTK2
-/* Should we always ensure to convert? */
        locale = conv_get_current_locale();
 
        if (locale && !strncasecmp(locale, "ja", 2)) {
@@ -1475,17 +1472,21 @@ void conv_unmime_header(gchar *outbuf, gint outlen, const gchar *str,
                conv_anytodisp(buf, buflen, str);
                unmime_header(outbuf, buf);
        } else {
-               gchar *tmp;
+               gchar *tmp = NULL;
                unmime_header(outbuf, str);
                if (outbuf && !g_utf8_validate(outbuf, -1, NULL)) {
-                       tmp = conv_codeset_strdup(outbuf,
+                       if (strcmp(conv_get_current_charset_str(), CS_UTF_8))
+                               tmp = conv_codeset_strdup(outbuf,
                                        conv_get_current_charset_str(),
                                        CS_UTF_8);
+
                        if (tmp) {
                                strncpy(outbuf, tmp, outlen-1);
                                g_free(tmp);
+                       } else {
+                               conv_localetodisp(outbuf, outlen, str);
                        }
-               }
+               } 
        }
 }