namazu-ml(ring)


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

Re: namazu-1.4.0.0-beta-4 Re: namazu-1.4.0.0-beta-3



Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> wrote:

>>   * コンヴァータを用意する (古川さん?)
>
>いちおう、先日の pnamazu-99.03.02 には、コンバータを付けてあります。
>こちらでは、gcnmz の検証に使いました。

あ、もうすでに作られていたのですね。試してみました。ちゃんと
動いているようです。が、 NMZ.keys と NMZ.total は作られませ
んね。 gcnmz も同じく両ファイルを更新する必要があります。

# そういえば NMZ.total は v1.3.0.5 でも必要だったのだ

gcnmz にはメイル末尾のパッチをあてると良いです。

# NMZ.{total,keys} なんていいかげんな仕様がそもそもいかんの
# だけど、今更いじりたくないし…。


>ところで、mknmz の中に
>
># find 用のルーチン
>sub wanted ($$){
>    my ($name, $rarray) = @_;
>    push(@{$rarray}, $name) if 
>	( (! /^(($conf::DENY_FILE)(\.gz|\.Z)?)$/i) &&
>	 /^(($conf::TARGET_FILE)(\.gz|\.Z|\?.*)?)$/i && -f $_ && -r $_);
>}
>
>という部分がありますが、ここでの $_ は、意図した使い方でしょうか?

うーん、変ですね。手元のコードを

sub wanted ($$){
    my ($name, $rarray) = @_;
    push(@{$rarray}, $name) if 
	($name !~ /^(($conf::DENY_FILE)(\.gz|\.Z)?)$/i &&
	 $name =~ /^(($conf::TARGET_FILE)(\.gz|\.Z|\?.*)?)$/i && -f $name && -r $name);
}

と変更しておきました。$_ に頼ってはいかんですね。

-- Satoru Takabayashi

Index: gcnmz.in
===================================================================
RCS file: /home/satoru/cvsroot/namazu/src/gcnmz.in,v
retrieving revision 1.3
diff -c -r1.3 gcnmz.in
*** gcnmz.in	1999/03/07 07:41:08	1.3
--- gcnmz.in	1999/03/08 08:51:08
***************
*** 76,81 ****
--- 76,87 ----
              print STDERR "editing NMZ.field.*\n" if !$Quiet;
              &nmztxt::delete_field(\%List);
  
+ 	    # NMZ.keys と NMZ.total を更新
+ 	    print STDERR "editing NMZ.keys\n" if !$Quiet;
+ 	    &nmztxt::nmzkeys;
+ 	    print STDERR "editing NMZ.total\n" if !$Quiet;
+ 	    &nmztxt::nmztotal;
+ 
              if ($_ = scalar(keys %List)){
                  &nmztxt::log_aopen(*FH, '[Garbage Collection]');
                  print FH "Collected Entry: $_ files\n";
***************
*** 629,633 ****
--- 635,649 ----
      }else{
          unpack("$IntType*", $x);
      }
+ }
+ 
+ sub nmzkeys{
+     &wopen(*FO, "$DbPath.keys") || die;
+     print FO $KEY, "\n";
+ }
+ 
+ sub nmztotal{
+     &wopen(*FO, "$DbPath.total") || die;
+     print FO $FILE, "\n";
  }