namazu-dev(ring)


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

Re: mknmz in Win32



白井です。

# お返事までとっても時間がかかってしまいました (_ _)

From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> さん曰く
Subject: [namazu-dev 1509] Re: mknmz in Win32
Message-ID: <200002070848.RAA21105@xxxxxxxxxxxxxx>
Date: Mon, 07 Feb 2000 17:49:47 +0900

高林> 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;
高林>   }

上記の高林さんのパッチを 'map' => 'grep' に変えたら

高林> >旧(1.3.x): c:\home\shirai\Mail\inbox\1 <= 1.3.x はこうしないとダメだった
高林> >新(2.x.x): c:/home/shirai/Mail/inbox/1 <= これでうまくいった

'両方の形式 + CRLF' で 'mknmz -F file' ができました。

# map でだめで grep に変えたのは、うまく動かないので周辺の code
# から推測しただけでして、まったく根拠はありません。Perl 苦手 ^^;;;
# ちなみに元にした mknmz は nmz1912-20000111.exe 附属のものです。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxxxxxxxx)