*&aname{body};といった間違った書式がエラーにならず&aname(body);と解釈される [#b2bf93b9]

-ページ: [[BugTrack2]]
-投稿者: [[Cue]]
-優先順位: 低
-状態: 提案
-状態: 完了
-カテゴリー: プラグイン
-投稿日: 2005-08-03 (水) 19:52:41
-バージョン: 

** 修正 [#xfd81dd6]
- [[cvs:plugin/aname.inc.php]] (r1.25)

**メッセージ [#w0300d71]
引数の数が違うconvertとinlineを同じ関数で解析させるのは無理があるようなので、下のような修正案を提案します。

 --- plugin/aname.inc.php	Fri Jun 17 00:04:08 2005
 +++ plugin/aname.inc.php	Wed Aug 03 15:50:32 2005
 @@ -27,6 +27,8 @@
  // #aname
  function plugin_aname_convert()
  {
 +	if (func_num_args() < 1)
 +		return plugin_aname_usage(TRUE);
  	$args = func_get_args(); // Zero or more
  	return plugin_aname_tag($args);
  }
 @@ -34,6 +36,8 @@
  // &aname;
  function plugin_aname_inline()
  {
 +	if (func_num_args() < 2)
 +		return plugin_aname_usage(FALSE);
  	$args = func_get_args(); // ONE or more
  
  	$body = strip_autolink(array_pop($args));
 @@ -49,7 +53,7 @@
  		if ($convert) {
  			return '#aname(anchorID[[,super][,full][,noid],Link title])';
  		} else {
 -			return '&amp;aname(anchorID[,super][,full][,noid]){[Link title]}';
 +			return '&amp;aname(anchorID[,super][,full][,noid]){[Link title]};';
  		}
  	} else {
  		if ($convert) {
 @@ -66,7 +70,7 @@
  	global $vars;
  	static $_id = array();
  
 -	if (empty($args) || $args[0] == '') return plugin_aname_usage($convert);
 +	if ($args[0] == '') return plugin_aname_usage($convert);
  	$id = array_shift($args);
  	$body = '';
  	if (! empty($args)) $body = array_pop($args);


----
- ご提案ありがとうございます :) 引数の検証漏れという事で、ほぼそのまま採用させていただきました。 plugin_aname_tag() の先頭で $args が empty() かどうかを調べる部分については、「そのルートが通常ありえないかどうか」と、その関数の安全性は無関係ですのでそのままとさせていただきました。 -- [[henoheno]] &new{2005-08-07 (日) 22:43:46};

#comment


** 別件: 表記ミス [#wcd5cc49]

 @@ -49,7 +53,7 @@
  		if ($convert) {
  			return '#aname(anchorID[[,super][,full][,noid],Link title])';
  		} else {
 -			return '&amp;aname(anchorID[,super][,full][,noid]){[Link title]}';
 +			return '&amp;aname(anchorID[,super][,full][,noid]){[Link title]};';
  		}
  	} else {
  		if ($convert) {

----
-こちらも同時にコミットしました。 -- [[henoheno]] &new{2005-08-07 (日) 22:45:57};

#comment


** 別件: bodyに&amp;aname;を入れるとアンカーがネストする問題 [#wcd5cc49]
-別件になりますが、bodyに&anameを入れるとアンカーがネストする問題はBugTrack2/65に書いたstrip_autolinkのリンク剥がし汎用化で直ります。 -- [[Cue]] &new{2005-08-03 (水) 19:55:49};
-こちらは補足情報ですね。ありがとうございます :) -- [[henoheno]] &new{2005-08-07 (日) 22:46:23};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.050 sec.

OSDN