* src/codeconv.c
* src/textview.c
Fix conv_unreadable_locale
+2004-10-14 [colin] 0.9.12cvs126.2
+
+ * src/codeconv.c
+ * src/textview.c
+ Fix conv_unreadable_locale
+
2004-10-13 [colin] 0.9.12cvs126.1
* src/compose.c
2004-10-13 [colin] 0.9.12cvs126.1
* src/compose.c
( cvs diff -u -r 1.382.2.49 -r 1.382.2.50 src/compose.c; ) > 0.9.12cvs124.3.patchset
( cvs diff -u -r 1.53.2.6 -r 1.53.2.7 po/POTFILES.in; ) > 0.9.12cvs125.1.patchset
( cvs diff -u -r 1.382.2.50 -r 1.382.2.51 src/compose.c; ) > 0.9.12cvs126.1.patchset
( cvs diff -u -r 1.382.2.49 -r 1.382.2.50 src/compose.c; ) > 0.9.12cvs124.3.patchset
( cvs diff -u -r 1.53.2.6 -r 1.53.2.7 po/POTFILES.in; ) > 0.9.12cvs125.1.patchset
( cvs diff -u -r 1.382.2.50 -r 1.382.2.51 src/compose.c; ) > 0.9.12cvs126.1.patchset
+( cvs diff -u -r 1.65.2.13 -r 1.65.2.14 src/codeconv.c; cvs diff -u -r 1.96.2.21 -r 1.96.2.22 src/textview.c; ) > 0.9.12cvs126.2.patchset
BINARY_AGE=0
EXTRA_VERSION=126
EXTRA_RELEASE=
BINARY_AGE=0
EXTRA_VERSION=126
EXTRA_RELEASE=
if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}
+#define SUBST_CHAR 0x5f;
#define ESC '\033'
#define iseuckanji(c) \
#define ESC '\033'
#define iseuckanji(c) \
+void conv_unreadable_utf8(gchar *str)
+{
+ register guchar *p = str;
+
+ while (*p != '\0') {
+ /* convert CR+LF -> LF */
+ printf("p %c (%d)\n", *p, *p);
+ if (*p == '\r' && *(p + 1) == '\n')
+ memmove(p, p + 1, strlen(p));
+ else if (((*p & 0xff) >= 0x7f && (*p & 0xff) <= 0x9f)
+ || *p == 0xfc)
+ *p = SUBST_CHAR;
+ p++;
+ }
+}
+
void conv_unreadable_locale(gchar *str)
{
switch (conv_get_current_charset()) {
void conv_unreadable_locale(gchar *str)
{
switch (conv_get_current_charset()) {
case C_EUC_JP:
conv_unreadable_eucjp(str);
break;
case C_EUC_JP:
conv_unreadable_eucjp(str);
break;
+ case C_UTF_8:
+ conv_unreadable_utf8(str);
+ break;
buffer = gtk_text_view_get_buffer(text);
gtk_text_buffer_get_end_iter(buffer, &iter);
buffer = gtk_text_view_get_buffer(text);
gtk_text_buffer_get_end_iter(buffer, &iter);
- if (!conv)
- strncpy2(buf, str, sizeof(buf));
- else if (conv_convert(conv, buf, sizeof(buf), str) < 0)
strncpy2(buf, str, sizeof(buf));
strncpy2(buf, str, sizeof(buf));
+ } else if (conv_convert(conv, buf, sizeof(buf), str) < 0) {
+ conv_localetodisp(buf, sizeof(buf), str);
+ }
strcrchomp(buf);
if (prefs_common.conv_mb_alnum) conv_mb_alnum(buf);
strcrchomp(buf);
if (prefs_common.conv_mb_alnum) conv_mb_alnum(buf);