[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-devel:12945] Re: TWM i18n



In message "[debian-devel:12944] Re: TWM i18n"
Tomohiro KUBOTA <kubota@xxxxxxxxxxxxxxxxxxxxx> wrote:

> > ところが、xmms-jaでは、「XMMS - n. song-title」というふうに曲名が
> > 表示されるべきところで、単に「XMMS」とだけタイトルに表示されます。

> 修正しました。i18n@xxxxxxxxxxx と、patch@xxxxxxxxxxx に送りました。

いただいてきました。手元でも動作確認できました。

> 要するに、8bit clean じゃない、ということですね。

久保田さんのパッチに、さらに添付のパッチを加えると、8bit通るよう
になります。parse.c内でのバッファを、char型ではなくunsigned char
型として扱うようにしています(ふたつきさんのパッチを参照)。

~/.twmrcに日本語EUCで漢字を書いて、メニューに漢字が表示されるのを
確認しました。

-- 
木下達也 (Tatsuya Kinoshita)
E-mail: tats@xxxxxxxxxx, tatsuyak@xxxxxxxxxxxxxxx
diff -ur twm-i18n-kubota/parse.c twm-i18n-kubota-tats/parse.c
--- twm-i18n-kubota/parse.c	Sat Sep 23 19:01:20 2000
+++ twm-i18n-kubota-tats/parse.c	Fri Sep 29 11:33:46 2000
@@ -81,10 +81,10 @@
 static FILE *twmrc;
 static int ptr = 0;
 static int len = 0;
-static char buff[BUF_LEN+1];
-static char overflowbuff[20];		/* really only need one */
+static unsigned char buff[BUF_LEN+1];
+static unsigned char overflowbuff[20];		/* really only need one */
 static int overflowlen;
-static char **stringListSource, *currentString;
+static unsigned char **stringListSource, *currentString;
 static int ParseUsePPosition();
 
 extern int yylineno;
@@ -237,7 +237,7 @@
 }
 
 int ParseStringList (sl)
-    char **sl;
+    unsigned char **sl;
 {
     stringListSource = sl;
     currentString = *sl;
@@ -304,7 +304,7 @@
     int c;
 {
     if (overflowlen < sizeof overflowbuff) {
-	overflowbuff[overflowlen++] = (char) c;
+	overflowbuff[overflowlen++] = (unsigned char) c;
     } else {
 	twmrc_error_prefix ();
 	fprintf (stderr, "unable to unput character (%d)\n",