[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00950] Re: Re: [FDclone-users:00945] HTTPLOGFILE 書き込み時に SEGV
- Subject: [FDclone-users:00950] Re: Re: [FDclone-users:00945] HTTPLOGFILE 書き込み時に SEGV
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Sun, 11 Mar 2012 18:12:32 +0900
しらいです。
In Message-Id <448E2479-4749-45A8-9D08-BDB5115AE89B@miko.org>
Takanori Yamamoto <tatyana@miko.org>さんwrites:
> どうやら添付ファイルを付けると、本文も問答無用で MIME エンコードされてしまうよう
> ですね。済みません。
> このメールには添付ファイルを付けていないので、大丈夫だと思います。
mixed は回避されましたが quoted-printable で encode されて
ますので読めないことに変わりはありません。そもそも非 CJK 圏
の連中は「字」と「絵」の区別がついてないから...。
> > どういう環境でも問題なく動きそうな patch に改めてみました
> > ので、こちらでご確認下さい。
>
> 残念ながら、問題は解消されませんでした。bt の結果は以下のようになっております。
ふむ。va_start() で取得した変数の再利用自体が禁止されてる
んですね。単なる pointer だと思ってたんですが、実装には色々
あるようです。
かと言って別便でご示唆頂いた va_copy は C99 固有なので汎用
性がありません。仕方ないので、一回しか引数を利用しない方針で
作り直してみました。
これで動かないようだと、多分他でも動かない筈なのでもうお手
上げです。
---- Cut Here ----
diff -ur ../old/FD-3.00j/http.c ./http.c
--- ../old/FD-3.00j/http.c Sat Sep 25 00:00:00 2010
+++ ./http.c Sun Mar 11 17:56:39 2012
@@ -204,11 +204,12 @@
int n;
VA_START(args, fmt);
- n = Xsnprintf(buf, sizeof(buf), "--> \"%s\"\n", fmt);
- if (n >= 0) vhttplog(buf, args);
-
- n = Xvfprintf(fp, fmt, args);
- if (n >= 0) n = fputnl(fp);
+ n = Xvsnprintf(buf, sizeof(buf), fmt, args);
+ if (n >= 0) {
+ httplog("--> \"%s\"\n", buf);
+ n = Xfputs(buf, fp);
+ if (n >= 0) n = fputnl(fp);
+ }
va_end(args);
return(n);
---- Cut Here ----
しらい たかし