CGI-BBS > 電子掲示板 > Trees > TreesをWindows上で動作させたい。


カレッヂ
カレッヂ


質問者 まっくす  投稿日 6/19(木) 18:58:26  [削除] (返信・回答が付いた後にこの質問の削除はできません)
動作環境は、Windows XP SP1,Apache 2.0.45,cygwin-1.3.22-1+perl-5.8.0-2で
動作させようとしていますが、新規投稿の際、1340行付近の

if ($in{'resp_number'} ne '' && -s $in{'resp_number'} == 0) { &error("File Not Found","$in{'resp_number'}は削除されていますので、コメントの投稿はできません."); }

で、なぜか条件が成立して、エラーとなってしまいます。

この行では、コメント書き込みの際、参照元ファイルのサイズが0の時に
エラーを返す部分だと思うのですが、新規投稿の時は
$in{'resp_number'}の中には"."が入っており、その時
perlの仕様によっては-s $in{'resp_number'}の戻り値が0になる場合が
あるようです。

本来は、

if ($in{'resp_number'} ne '' && $in{'resp_number'} ne '.' && -s $in{'resp_number'} == 0) { &error("File Not Found","$in{'resp_number'}は削除されていますので、コメントの投稿はできません."); }

ようにすべきと考えるのですが、いかがでしょうか?

プロバイダ参照:自宅のWindows XP
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:秀丸
FTPソフト:なし
サーバ移転:していない
改造:していない
CGI習熟度:(未選択)

返信(回答)する

 


Web裏技