( 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
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)
*p = SUBST_CHAR;
p++;
}
-printf("out %s\n", str);
}
void conv_unreadable_locale(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)) {
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);
}
- }
+ }
}
}