[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00591] Re: 結果報告
- Subject: [FDclone-users:00591] Re: 結果報告
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Sat, 30 Sep 2006 21:07:46 +0900
しらいです。
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」が設定されてしまってい
るんじゃないかと思います。
しらい たかし