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

[FDclone-users:00591] Re: 結果報告



 しらいです。

In Message-Id <20060930183038.416072.fae14c80@isis.ocn.ne.jp>
        yuji tamura <yuji@isis.ocn.ne.jp>さんwrites:
> こんばんは田村です。

> この状態でコンパイルした状態では再現しないようです。

 ふむ、案の定元凶は convget() でしたか。ではこの辺りを重点
的に調べましょう。


> 	return(path);
> 		buf[sjis2ujis(buf, (u_char *)cp, MAXPATHLEN - 1)] = 
> 
> ここで再現確認しました。ここに挿入して再コンパイルしてから
> 表示自体が変わったのであれっ、と言う感じでした。
> 日本語の文字化け具合が違うのです。

 あ、説明が足りませんでしたね。この部分のコードはフロッピー
ドライブ用なので、パス名が「A:」のようにドライブ名で始まって
いないと thru されてしまうんです。
 なので、「if (dos) {」から次の「}」の間は調べる必要がない
のでした。余計な検証をさせえつぃまってすみませんでした。


> 	return(path);
> 	if (fgetok)
> 		cp = kanjiconv2(buf, cp,
> 			MAXPATHLEN - 1, getkcode(cp), DEFCODE, 
> 
> 再現せず、ここからまた文字化け具合が変わり、まえのようになります。

 この「文字化け」というのは具体的にはどういう症状なんでしょ
うか?
 FNAMEKCODE を「utf8-mac」から空にしたことでファイル名の漢
字コード変換機能が無効化されていますから、日本語ファイル名が
化けるのは想像出来るのですが、そういう問題ではありませんか?


> 	if (fgetok)
> 		cp = kanjiconv2(buf, cp,
> 			MAXPATHLEN - 1, getkcode(cp), DEFCODE, L_FNAME);
> 	return(path);
> 
> やはり再現せず。

 これで再現しないというのが解せません。FNAMEKCODE が空なの
で kanjiconv2() は cp を返す筈で、RRPATH に「/User/yuji」が
登録されていない限りは cp の値は path と同じ筈なのです。
 ここで追加した「return(path);」の後ろには「return(cp);」が
あるだけで、追加してもしなくても結局同じ結果になると思うんで
すけどねー。

 ではここで追加した「return(path);」を「return(cp);」に変更
するとどうなるでしょう?また「getkcode(cp)」を「NOCNV」に変
更してみるとどうでしょうか?
 この二つの変更を「する/しない」「する/する」「しない/する」
の 3 つの組合せで行なってその結果を調べて下さい。残る組合せ
の「しない/しない」は既に検証済みなので再検証は不要です。

 また、並行して各種変数の設定値を確認して下さい。FDclone の
設定変数に「...PATH」という名前のものが 16 個ありますが、こ
の中で何か値を設定してあるものはないでしょうか?
 多分、その中のどれかに「User/yuji」が設定されてしまってい
るんじゃないかと思います。

                                               しらい たかし