Namazu-devel-ja(旧)


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

Re: Subject field search bug when NULL characteris contained



>> On Thu, 25 Dec 2003 16:48:47 +0900
>> yw3t-trns@xxxxxxxxxxxxxxx (Tadamasa Teranishi) said as follows:

>> nkfのバージョン違いによるものではないかと思います。

>当方は nkf 1.71 のモジュールを使っています。

確かに,こちらも nkf-2.0.3 なので,その違いが原因のようですね.

しかし,

>nkf 2.02 でこの結果になるのが問題のように思いますので、nkf 側での対処
>も必要なのではないかと思います。何せ null 文字を作りだしてしまうので
>すから。

と言いきってしまって良いかどうかは,多少の疑問があります.問題を再現す
るための,最小のコマンドを考えてみたのですが,突き詰めていくと以下のよ
うになりました.

    % perl -e 'print "\x1b\x4e\x69"' | nkf | od -c
    0000000  \0
    0000001

個人的には,この nkf の挙動がバグであると言いきることは難しいと思いま
す.この挙動がバグであると言うためには,この入力に対する nkf の『正し
い出力』が定義できることが必要です[*].しかし,ここでの入力は,文字コー
ドとしては不完全な byte 列ですから,『正しい出力』が定義できるようには
思えません.

  [*] 念のための脚注: バグ(= 誤った出力)とは,正しい出力の否定として定
  義されますから,正しい出力が決まっていない時には,原理的には,どんな
  出力であってもバグではない.

したがって,

>で、nkf が修正されれば本件の問題は解決するでしょう。通常のメールであ
>れば、これで問題が起こることはないでしょう。

nkf が修正される(できる)かどうかは,個人的には疑問です.

ですから,namazu(mknmz) としては,nkf が NULL 文字や制御文字を含む文字
列を返したとしても,それなりに動くように設計しておくべきだと思います.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )