[Fswiki-dev] CommentHandler.pm のバグ

アーカイブの一覧に戻る

WATANABE Akitsugu aki****@de*****
2003年 7月 23日 (水) 00:32:35 JST


はじめまして、 Aki です。


3.4.2dev8 の CommentHandler.pm にバグを発見したので、報告します。

!!! 問題点
CommentHandler.pm L65: 
 if (index($_,"{{comment ")!=-1 && $flag==0) {

comment の後にある空白のために、{{comment}}にマッチしません。
そのため、正順のcommentでコメントの投稿ができなくなる場合があります。

解決策をいくつか検討してみましたが、
どれも一長一短なのでFSWiki全体の開発方針に照らし合わせないと
決めがたいかと思います。


!! 解決策1
このバグは空白を削除することで対処できます。
ただし、将来 commentXXXXX のような名前のプラグインが登場したときに、
誤動作を引き起こす可能性があります。

CommentHandler.pm L65: 
 if (index($_,"{{comment")!=-1 && $flag==0) {


!! 解決策2
正規表現を使えば誤動作の危険は無くなりますが、
動作が遅くなる可能性が高くなります。

CommentHandler.pm L65: 
 if (/{{comment[\s}]/ && $flag==0) {

!! 解決策3
従来の表現です。高速で、別名プラグインと誤解することもありませんが、
直観的に正しそうな表現 {{comment }} がエラーになります。

CommentHandler.pm L65: 
 if (index($_,"{{comment}}")!=-1 && $flag==0) {

!! 解決策4
2つのパターンの両方を調べます。
そのため、解決策3で提示された問題はありません。
解決策2に比べて速度の優位性があるならば、悪くない解決策だと思います。

CommentHandler.pm L65: 
 if ((index($_,"{{comment}}")!=-1 or index($_,"{{comment ")!=-1) and $flag==0) {

--
WATANABE, Akitsugu (aki****@de*****)



Fswiki-dev メーリングリストの案内
アーカイブの一覧に戻る