namazu-ml(ring)


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

Re: namazu-1.4.0.0-alpha-release on W32 (Re: namazu-1.4.0.0-alpha-6)



kenzo-@xxxxxxxxxx (Ken-ichi Hirose) wrote:

>> Perl5.005.02ベースのActive Perl Build 507に入れ替えてmknmzを動かして
>> みましたが、まだまともに動作しません。path separatorとdrive letterの
>> 取り扱いに問題があるようです。
>
>むむ、言われてみてみると
>get_commandline_opt の中の
>
>    if ($SYSTEM eq "MSWin32") {
>        $target_dir =~ s/\//\\/g;
>        $output_dir =~ s/\//\\/g;
>    }
>
>が無くなってますね。。。
>descripter を / に統一したいということで無意識のうちに忘れたのでしょう。

追加しておきました。 が、 / から \  への置き換えではなく、逆の方が
後の処理がずっとやりやすくなります。

こんなルールでうまくいかないでしょうか? (mknmzの話です)

  * ユーザが入力したパス名は \ から / へ変換する
  * 内部ではすべて / で処理する
  * ファイルを開く (パイプで処理するときも) 直前に / から \ へ戻す
    - これは util::fopen() を修正するだけ
  * cwd() を使っている部分は Cwd() などとラッパーをかぶせ、 \ を / 
    の違いを吸収する
  * find の部分も / で処理するよう書き換える
  
これでうまくいくか実験してもらえると助かります。ドライヴレターの扱
いはどうすればいいのかわかりません。

# 手元に環境がないので私の方では実験できないのです。


>で、cygwin ものだと。。
>ちゃんとした path C:\usr\local\namazu\index でも何故か kakasi の所で
>Bad descripter とかなってしまう。。。 (T_T)
>#ActivePerl は手強い

今ここでくじけられると悲しいです。応援しています。

# Win32 での動作を確認しないと v1.4.0.0 をリリースできません :)

-- Satoru Takabayashi