( cvs diff -u -r 1.59.2.25 -r 1.59.2.26 src/prefs_filtering.c; cvs diff -u -r 1.96.2.81 -r 1.96.2.82 src/textview.c; cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/plugins/pgpinline/pgpinline.c; ) > 1.9.15cvs89.patchset
( cvs diff -u -r 1.382.2.186 -r 1.382.2.187 src/compose.c; ) > 1.9.15cvs90.patchset
( cvs diff -u -r 1.2.16.1 -r 1.2.16.2 src/pixmaps/new.xpm; cvs diff -u -r 1.2.16.2 -r 1.2.16.3 src/pixmaps/unread.xpm; ) > 1.9.15cvs91.patchset
+( cvs diff -u -r 1.65.2.41 -r 1.65.2.42 src/codeconv.c; ) > 1.9.15cvs92.patchset
{
gchar *tmpstr;
+ codeconv_set_strict(TRUE);
tmpstr = conv_iconv_strdup(inbuf, conv_get_locale_charset_str(),
CS_INTERNAL);
+ codeconv_set_strict(FALSE);
if (tmpstr && g_utf8_validate(tmpstr, -1, NULL)) {
strncpy2(outbuf, tmpstr, outlen);
g_free(tmpstr);
+ return;
} else if (tmpstr && !g_utf8_validate(tmpstr, -1, NULL)) {
g_free(tmpstr);
- conv_utf8todisp(outbuf, outlen, inbuf);
+ codeconv_set_strict(TRUE);
+ tmpstr = conv_iconv_strdup(inbuf,
+ conv_get_locale_charset_str_no_utf8(),
+ CS_INTERNAL);
+ codeconv_set_strict(FALSE);
+ }
+ if (tmpstr && g_utf8_validate(tmpstr, -1, NULL)) {
+ strncpy2(outbuf, tmpstr, outlen);
+ g_free(tmpstr);
} else
conv_utf8todisp(outbuf, outlen, inbuf);
}