namazu-dev(ring)


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

Re: divide search/output process.



<199909271131.UAA08533@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。

>> 検索結果の表示が変です。

  出力処理がまだ検索処理中に残ってました。結構厄介な位置にあったので、
次のような感じで処理しました。

・構造体 PHRASERES を定義 (namazu.h)

/* results of phrase search */
struct phraseres {
  int hitnum;
  uchar *word;
  struct phraseres *next;
};

typedef struct phraseres PHRASERES;

・グローバル変数 PhraseResult を作成

PHRASERES *PhraseResult = NULL;

・do_word_searchやdo_searchが行われる際に各検索語とヒット数を
PhraseResultに追加 (search.c)
追加のための関数 push_phraseres を作成 (search.c)

・print_hit_countが PHRASERES を扱えるように修正

・push_phraseresで確保したメモリの開放を行うための関数 free_phraseres
を作成 (search.c)

・namazu_core内でprint_hit_countを処理するよう変更
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
        nokubi@xxxxxxxxx (official)