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

[FDclone-users:00550] Re: FDclone 2.08f has been released



 しらいです。

In Message-Id <1bf080fd0608081842h1942354dv955f15244713f4c9@mail.gmail.com>
        "Takanori Yamamoto" <takanori.yamamoto@gmail.com>さんwrites:
> 昨日リリースされた 2.08f にバージョンアップした途端、
> FDclone 上で日本語のディレクトリ/ファイル名が正常に表示されなくなる
> 問題が発生しましたので、その旨ご報告いたします。

 以下の patch でどうでしょうか?

---- Cut Here ----
diff -u ../old/FD-2.08f/dosdisk.c ./dosdisk.c
--- ../old/FD-2.08f/dosdisk.c	Tue Aug  8 00:00:00 2006
+++ ./dosdisk.c	Wed Aug  9 20:56:34 2006
@@ -944,11 +944,12 @@
 	else strcatdelim2(path, unitblpath, file);
 
 	if ((fd = Xopen(path, O_BINARY | O_RDONLY, 0666)) < 0) fd = -1;
-	else if (!unitblent && sureread(fd, buf, 2) != 2) {
+	else if (unitblent) /*EMPTY*/;
+	else if (sureread(fd, buf, 2) == 2) unitblent = getword(buf, 0);
+	else {
 		Xclose(fd);
 		fd = -1;
 	}
-	else unitblent = getword(buf, 0);
 
 	return(fd);
 }
diff -u ../old/FD-2.08f/kanji.c ./kanji.c
--- ../old/FD-2.08f/kanji.c	Tue Aug  8 00:00:00 2006
+++ ./kanji.c	Wed Aug  9 20:57:18 2006
@@ -730,11 +730,12 @@
 	else strcatdelim2(path, unitblpath, file);
 
 	if ((fd = Xopen(path, O_BINARY | O_RDONLY, 0666)) < 0) fd = -1;
-	else if (!unitblent && sureread(fd, buf, 2) != 2) {
+	else if (unitblent) /*EMPTY*/;
+	else if (sureread(fd, buf, 2) == 2) unitblent = getword(buf, 0);
+	else {
 		Xclose(fd);
 		fd = -1;
 	}
-	else unitblent = getword(buf, 0);
 
 	return(fd);
 }
---- Cut Here ----


> > UNICODE テーブルが壊れていた点を修正。(MS-DOS 版)
> 
> が関連している可能性はありませんでしょうか。

 そういう訳ではないのですが、どういう理由でコードを書くに至
ったのかは良く憶えていません。

 既に FDclone 2.09 では source code だけで総量 2MB 以上もあ
り、詳細な部分までは気が回らないというのもあって、気がつくと
理由の良く判らない変更をしてしまっていることがままあります。
 その変更を行なった時点では、無駄の削減とか見易さとか色々考
えた結果、良かれと思って変更しているんでしょうが、結果的にそ
の変更が embug になっていることが少なくないのも否めません。
 特に 2.09 は変更箇所が多いので、そういう理由の良く判らない
変更は散見されることと思いますし、そのうち幾つかは embug し
ているかも知れません。

 という訳で、2.09 を出来るだけ安全な形で release 出来るよう、
みなさん確認作業に励んで頂ければと思います。

                                               しらい たかし