namazu-ml(avocado)


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

Re: namazu-112-proto-7



清水@住友林業です。

Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> さんは 
Mon, 9 Mar 1998 06:16:58 +0900 に書きました ;

> namazu-112-proto-7 を作りました。そろそろ v1.1.2 として正式にリリー
> スできる段階に近づいてきたと思います。 


namazu-112-proto-7 の namamzu に一つ、バグがありました。

まず、現象から。

  %namazu -C
  namazu configurations
  configuration file: h:/usr/local/namazu/lib/namazu.conf
    * DEFAULT_DIR      : h:/usr/local/namazu/index
    * BASE_URL         :
    * URL_REPLACE_FROM :
    * URL_REPLACE_TO   :
    * WAKATI_TMP_DIR   : h:/temp
    * Wakati           : kakasi
    * LOGGING          : ON
    * LANG             : JAPANESE

と出る環境で、コマンドラインの INDEX_DIR なしで namazu を実行します。

  %namazu "snmp"
  検索結果

  参考ヒット数:
  検索式にマッチする項目はありませんでした。

と表示されます。参考ヒット数の行は、

  参考ヒット数:  [ snmp: 11 ]

と表示されるのが正解なのですが、何も表示されていません。
で、コマンドラインから INDEX_DIR を与えてみます。

  % namazu h:/usr/local/namazu/index "snmp"
  検索結果
 
  参考ヒット数:  [ snmp: 11 ]
  検索式にマッチする 11 個の項目が見つかりました。

  1. A Simple Network Management Protocol (SNMP) (score: 132)

   [以下省略]


とまともに表示されます。

原因は、コマンドラインオプションで INDEX_DIR が与えられなかった場合、
namazu.c の main() で 

            DbNumber = 0

になったまま searchmain() まで処理が進んでしまうことのようです。

この場合、searchmain() では、

            DbNumber = 1

を期待して動作しているように見えたので、namazu.c の main() の
345 行目の次に

            DbNumber = 1;

を挿入したら、まともに動くようになりました。
なお、この修正は、添付の OS/2 用の patch にも反映させてあります。

search.c の seachmain() の 357-359 行目の

    for (i = 0; i < DbNumber; i++) {
        tmp[i] = search_and_print_reference(tmp[i], keystring, i);
    }

を、

    for (i = 0; i <= DbNumber; i++) {
        tmp[i] = search_and_print_reference(tmp[i], keystring, i);
    }


にする修正方法も考えたのですが、search.c の lockfilecheck() を見ると
DbNumber の値を修正するべきだと理解しました。

# で、いいんですよね?



> proto-6 からの変更点は
> 
> v1.1.2-proto-7
> 	[3/8/98]
> 
> 	* バイトオーダの違いを吸収するようにしました
> 	  NMZ.le がれば little-endian なインデックス
> 	  NMZ.be がれば big-endian なインデックスと判断する
> 	* インデックスのバイトオーダを変換するツールを作りました (rvnmz.pl)
> 	* 多分、 OS/2 でも動くと思う

また、mknmz の方は動いてますが、namazu の方が

・chdir()  → _chdir2
・getcwd() → _getcwd2()

の対応がされてなかったので、namazu.h 以下を修正しました。
最後に patch を付けます。


> 例によって
> 
> <URL:http://saturn.aichi-u.ac.jp/%7Eccsatoru/Namazu/proto/>
> 
> に置いておきますので、どうぞお試しください。 Win32, OS/2 用の 
> Makefile を作って頂けると助かります > 広瀬さん、清水さん。
> 

これも 最後に付けます。
(MIME Multipart で 2 ファイルを添付することになります。)

ではでは。

end
--
  住友林業株式会社  情報システム部   清水 和佳
 
  TEL: +81-3-5322-6672  FAX: +81-3-5322-6658  Niftyserve: XLW01034
  e-mail: <kshimz@xxxxxxxxx>
 

Attachment: PATCH.OS2
Description: Binary data

Attachment: MAKEFILE.OS2
Description: Binary data