[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
1999/08/19 09:31 from Si
Title: [teenbbs:0368] Re:366) EMVIEW v1.06 & EMCUT v1.01
X-url: http://member.nifty.ne.jp/dahlia

No.   : 368
Sender: Si
URL   : http://member.nifty.ne.jp/dahlia
Title : Re:366) EMVIEW v1.06 & EMCUT v1.01

他にもいろいろとご感想ご意見を頂きましてどうもありがとうございます。とり
あえず、不具合の動作報告を頂いた EMCUT(No.365), EMVIEW について、 まとめ
てレスさせて頂きます。

まずは、EMCUT での「原因になっていると思われるものの特定とその不具合状況
の整理」に貴重なお時間を費やして頂いて感謝です。

>ということでこれ以上は EMCUT の時のようには詳しく不具合を
>検証していませんが, EMVIEW と EMCUT で同じ関数を使い回されて
>いるので同じような不具合が出るのでしょうね.

関数の問題というよりも、どちらもメールファイル読み込み時のバッファサイズ
が 256 バイトしか確保していないので、それが原因かと思います。 (^^;

この場合バッファへの一度の読み込みで最大 255  バイトまでしか読み込みませ
んから、 丁度 256 バイト目に CRLF があると次回の読み込みでその CRLF だけ
がバッファに読み込まれてしまうためにそこでヘッダ部の終了と判定してしまい
ます。また 255 バイトを超える長さのヘッダ行があると 255 目で分断されてし
まいます。 ですからどちらのケースでもこの 255 バイトの制限がネックになっ
ているようです。

EMCUT は LSI C-86 でもコンパイル出来ますので、もしお時間がおありでしたら
MAIL_CUT.C 冒頭の

static char buf[256];

これを試しに

static char buf[512];

にして実行ファイルを作成してみて動作確認してみて頂けますでしょうか?
たぶん今度は正常動作すると思います。

バッファサイズの 256 という数字に根拠はないんです。 幸か不幸かそんなに長
いヘッダを持ったメールを受信したことがないのでこの程度で大丈夫だろうとい
うことで 256 にしていました。

EMCUT、EMVIEW 共に次版ではバッファサイズを拡大しますが、どの程度必要でし
ょうか? 512 バイトあれば間に合うでしょうか?

[レスを書く]