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

[freewnn:00890] Re: defect in Japanese conversion



小野寛生です

At Wed, 07 Aug 2002 04:37:20 +0900,
Hiroo Ono wrote:
> cvs repo. の最新のものだと、付属語ファイルが読めていなくて、変換がおか
> しくなるようです。

5月頭まで戻らないと駄目なようです。
log を見たり、debugger で追ったりした結果わかったことは、
問題なく動くものは client が接続すると、

JS_OPEN(1)
JS_ENV_EXIST(7)
JS_CONNECT(5) <- ここで新しい env が作成される。
JS_FILE_READ(97)
JS_FUZOKUGO_SET(41)
...

とか、
Aug/13/2002:10:27:27 client=<UNKNOWN>: JS_OPEN(1): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: Inet user=hiroo@XXXX
Aug/13/2002:10:27:27 client=hiroo: JS_ENV_EXIST(7): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_CONNECT(5): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: new_env: Created , hiroo env_id=0
Aug/13/2002:10:27:27 client=hiroo: JS_FUZOKUGO_GET(48): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: Error 27:BAD ERRORNO!!! (27): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_VERSION(0): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_FUZOKUGO_GET(48): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: Error 27:BAD ERRORNO!!! (27): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_FILE_READ(97): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_FUZOKUGO_SET(41): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_ACCESS(82): cur_clp = 0
Aug/13/2002:10:27:27 client=hiroo: JS_FILE_READ(97): cur_clp = 0

とコマンドを処理していますが、
駄目な version は、
Aug/13/2002:10:27:27 client=hiroo: JS_FUZOKUGO_GET(48): cur_clp = 0
でエラーになると、そのあと、JS_FUZOKUGO_SET(41) で付属語ファイルを設定する
というところにゆかないようです。

Error 27 は「付属語ファイルが読み込まれていません」というエラーで、
JS_FUZOKUGO_SET(41) する前に JS_FUZOKUGO_GET(48) してしまうと必然的に
このエラーになります。(_search() のバグがあったころなので…)

なぜこうなるのかまではまだわかりません。

その他ですが、

> Linux 以外では uum で compile エラーも出ると思います。
> wait3 の第1引数として渡す変数の宣言が
>   union wait status

これは int に直してしまいました。

> jserver/error.c の vwrite_log() の、
> という部分ですが、c_c->user_name[] にゴミが入っていたらそいつが出力さ
> れてしまう場合があります。

これも、isgraph() 使った修正を commit しました。

併せて、initjserv.c:read_default() を修正しました。
sscanf ("%s %s %s ...", s[0], s[1], s[2],...);
というのはもうちょっとなんかやりようがあるだろうと思っただけだったのですが、
strtok() を使って書き直してみたところ、思いのほか修正が多くなってしまい
ました。