[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00730] Re: cmd_name not set in jserver/de.c
- To: freewnn@tomo.gr.jp
- Subject: [freewnn:00730] Re: cmd_name not set in jserver/de.c
- From: aono@XXXX (Tomoki AONO)
- Date: Tue, 28 Aug 2001 15:05:35 +0900 (JST)
- In-Reply-To: Your message of "Tue, 28 Aug 2001 13:58:49 +0900 (JST)".<20010828.135849.68536961.hamajima@nagoya.ydc.co.jp>
- Reply-To: freewnn@tomo.gr.jp
青野です。こんにちは。
<20010828.135849.68536961.hamajima@nagoya.ydc.co.jp>の記事において
hamajima@nagoya.ydc.co.jpさんは書きました。
>> jserver/de.cの中にある変数 cmd_name (たぶんコマンド名)って、誰も設定して
>> いないように見えますが、そんなことないですか?
>>
>> 例えば jserver -v を実行すると先頭にコマンド名を表示するようになっている
>> と思うのですが、実際には表示されないです。
小野さんも[freewnn:00633]で案を示されていますが、後回しに
なっている模様です。
#これは[freewnn:00032]の本木さんによる(libwrap)パッチを元
#にしたものだそうです。
どちらにしてもリリース前に入れてほしいです。
…これだけではあれなので、error1() 関数でcmd_name+":"を無
視しないようにするパッチもつけます。やってることは始めに
strcpy / strcat した分だけsprintf()の対象からはずすだけの
ものです。
#コメントは適宜削除していただいて構いません。毎回strlen()
#をするのも無駄な気がするので、static変数として保存してい
#てもよいような気もします。
---- cut here ----
--- ../orig/Wnn/jserver/error.c Sun May 27 15:48:07 2001
+++ Wnn/jserver/error.c Tue Aug 28 14:37:30 2001
@@ -111,17 +111,24 @@
errno = 0; /* Reset error number for next calling */
}
+/*
+ NOTICE: バッファの大きさは考慮していないので、プログラマ側で使い方に */
+ 注意すべきである.
+*/
void
error1 (x, y1, y2, y3, y4, y5)
register char *x;
int y1, y2, y3, y4, y5;
{
char buf[512];
+ int len;
strcpy (buf, cmd_name); /* strcpy(buf , "jserver:"); */
strcat (buf, ":");
- strcat (buf, x);
- sprintf (buf, x, y1, y2, y3, y4, y5);
+ /* strcat (buf, x); */ /* It's useless! - aono */
+ len = strlen(buf);
+ /* skip len to retain cmd_name + ':' . */
+ sprintf (buf + len, x, y1, y2, y3, y4, y5);
my_error (buf);
}
---- cut here ----
----
青野智樹 (aono@cc.osaka-kyoiku.ac.jp)