[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00773] Re: [RFC] error.c rewrite
小野寛生です。
あけましておめでとうございます。
At Tue, 1 Jan 2002 01:35:31 JST,
Tomoki AONO wrote:
> もしかすると小野さんが手を付けられているのかも知れないので
前回この話を出して少ししてから、HDD がこけたり、せっかく再イ
ンストールした file system を間違えて newfs してしまったりと
いろいろあって、FreeWnn 関連は何もしていませんでした。
> 変更点:
ざっと見ただけですが、これで良いのではないかと思います。
細かいところはきちんと見ないといけないと思いますが、大筋は全
く文句ありません。
(私が考えていた変更はもっとちゃちなものだったので、書いていた
だけて嬉しいです)。
ついでに、error.c の使われていない部分は消してしまいませんか?
また、青野さんの patch の中身に直接は関係しないところで、
・cmd_name を path 名にしてしまったが、やっぱり
cmd_name は [jckt]server にして、
argv[0] は起動された時 (かつ noisy の時?) に表示する
・debug 用 (& tcpserver 向け?) に端末を切り離す処理を今のよ
うに compile 時に決定しないで、option で切替える
ようにしたいと思っています。
ほかにもありますが、それは別途。
また、私が突っ込んだ strncpy() とか snprintf() は、buffer の長さを間違
えて考えていて、それでおかしな場合がある (buffer overflow している?)
のではないかと思うので、見直しが必要です。
幸い、error.c の部分は青野さんの patch でキャンセルされますが、他にも
いれたかは覚えていません…。
> 問題点:
>
> - 元々error1()の文字列には改行記号("\n")が含まれているので一行に収まら
> ない。
これは、error1() を呼ぶ側で付けているからですよね?
呼出側で改行をとるか、
vwrite_log() 末尾の
#ifdef SYSVR2 /* I don't know it's useful ... (aono) */
fprintf(fplog, " ,errno=%d", saved_errno);
#endif
fputc('\n', fplog);
を削除するか
どちらの仕様にするかだと思います。
原則的にエラー出力は1行ということなら、前者がよいと私は思います。
> - error1()を介さずにstderrに出力している部分の変更が必要。
これは…直すしかないですね。