namazu-dev(ring)


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

Re: mknmz in Win32



Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxxxxxxxxxx> wrote:

>の target-list の file の中身は
>
>旧(1.3.x): c:\home\shirai\Mail\inbox\1 <= 1.3.x はこうしないとダメだった
>新(2.x.x): c:/home/shirai/Mail/inbox/1 <= これでうまくいった
>
>という風に変わったということで良いのでしょうか? それとも、今後
>変更して (旧) の方を要求するようになりますか?

あ、必要とあれば mknmz を修正して旧形式にも対応できます。


>もう一点なのですが、上記の "target-list file" が CRLF だと
>
>0 /c|/home/shirai/Mail/inbox/1^M is 0 size! skipped.
>0 /c|/home/shirai/Mail/inbox/10^M is 0 size! skipped.
>
>という風に '^M' までをファイル名だと思って失敗してしまいます。
>            ~~ 手で打ち込んでいます。
(snip)
># load_target_list => util::efopen => util::fopen => binmode()
># で binmode() しているからだと思います。LF で file を作れば問題
># ないです。

Windows を利用している人に LF でファイルを作りなさい、という
のは酷なので mknmz の側で対応するとよさそうです。

パス名の問題も含めて、たぶんメイル末尾のパッチで解決すると思
います。動作確認をお願いできます?


>『こうして欲しい』という話ではなくて、Namazu V2 の Win32 での挙
>動がわかったら、それにあわせて周辺ソフトを作り込みたいだけなので、
>見込みなど聞かせていただけるとありがたいです。:-)

どんな「周辺ソフト」でしょう? :-)

-- Satoru Takabayashi

Index: mknmz.in
===================================================================
RCS file: /circus/cvsroot/namazu/scripts/mknmz.in,v
retrieving revision 1.5
diff -c -r1.5 mknmz.in
*** mknmz.in	2000/02/06 07:36:46	1.5
--- mknmz.in	2000/02/07 08:45:45
***************
*** 1043,1048 ****
--- 1043,1056 ----
      my ($file) = @_;
      my $fh_targets = util::efopen($file);
      my @targets = <$fh_targets>;
+     if (($SYSTEM eq "MSWin32") || ($SYSTEM eq "os2")) {
+ 	@targets = map { 
+ 	    s/\r//g; 
+ 	    # Replace \ with / with consideration for Shift_JIS.
+ 	    s!([\x81-\x9f\xe0-\xef][\x40-\x7e\x80-\xfc]|[\x01-\x7f])!
+ 		$1 eq "\\" ? "/" : $1!gex;
+ 	} @targets;
+     }
      chomp @targets; 
      return @targets;
  }