namazu-ml(avocado)


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

Re: Q. about mknmz



Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> wrote:

>古川@浜松在住です。

まさか浜松に住んでいらっしゃったとは :-)。


>で、ここで新たな疑問が湧くのですが、私のところでは、1.0.3 のころから
>perl5.003 で運用しているのですが、今回の問題には出会いませんでした。
>
>なにか、他にも条件があるのでしょうか?それとも、たんに気付かなかった
>だけでしょうか?

ちょっと考えてみたのですが、この問題が発生するのはおそらく 
0x00-0x79 と 0x80-0xff の境界の部分が原因となるのだと思います。故
に、その付近の単語の並びによって発生したり発生しなかったりといっ
たことが起こるのではないかと考えられます。

例えば 0xa0, 0xa1 は unsigned char な場合、十進数で 160, 161 です
が、 singned char の場合は -96, -95 になります。それぞれを比較した
とき、どちらの場合も 0xa1 の方が大きいという結果になりますから、特
に問題は発生しないわけです。ところが、 -96, -95 ともに負数ですから、
正数と比較するとまずいことになってしまうわけです。

こんな具合に再現性が微妙だったので、今までなかなか気付かなかったの
かもしれません。

--
高林 哲 Satoru Takabayashi