autolinkで文字化け

  • ページ: BugTrack
  • 投稿者: reimy
  • 優先順位: 重要
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2003-11-16 (日) 17:34:42
  • バージョン: 1.4.1

メッセージ

autolink=0のときは文字化けしないが、autolinkを有効にすると記事の表示で文字化けが発生するという報告が複数あります。

1.4では発生しないが、1.4.1で発生するようです。


  • autolinkのパターン生成ルーチンのバグです。以下の条件が重なって露呈しました。 -- ぱんだ 2003-11-16 (日) 21:19:33
    1. もともと、AutoLinkすべきページ名がひとつもないときに、このような問題が発生するバグがあった*1
    2. BugTrack/482で、英字のみのページ名と、そうでないページ名のパターンを分けた
    3. 配布パッケージに、5文字以上の英字のみ(かつ、WikiNameではないページ名。Hyperなど。)のページ名が含まれていなかった
    4. (おそらく)設置者が$autolinkを5以上に設定した
  • なお、PHPのmbstringサポートの有無とは関係ありません。
  • cvsに投入しました。 cvs:func.php(v1.4:r1.54) パッチは以下。 -- ぱんだ 2003-11-16 (日) 21:19:33
    diff -u -r1.53 func.php
    --- func.php	5 Nov 2003 10:58:39 -0000	1.53
    +++ func.php	16 Nov 2003 12:15:39 -0000
    @@ -521,6 +521,11 @@
     }
     function get_autolink_pattern_sub(&$pages,$start,$end,$pos)
     {
    +	if ($end == 0)
    +	{
    +		return '(?!)';
    +	}
    +	
     	$result = '';
     	$count = 0;
     	$x = (mb_strlen($pages[$start]) <= $pos);
  • これは致命的ですね。すでに使っている人に問題は出にくいかもしれませんが、配布パッケージを展開した素の状態だと、$autolinkを5以上にしただけ*2例外なく問題が発生します。 1.4.2出します。 -- ぱんだ 2003-11-16 (日) 21:21:49
  • 問題が出た場合、autolink.datが壊れていますので、上記パッチを当てたあと、適当なページを更新してautolink.datを再生成してください。 -- ぱんだ 2003-11-16 (日) 23:28:33

*1 逆に言うと、ひとつでもAutoLink対象のページがあればこのバグは起きない、ということです。
*2 4以下ならHelpページが引っかかる

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-11-17 (月) 00:21:22
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.210 sec.

OSDN