- 追加された行はこの色です。
- 削除された行はこの色です。
*&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 '&aname(anchorID[,super][,full][,noid]){[Link title]}';
+ return '&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 '&aname(anchorID[,super][,full][,noid]){[Link title]}';
+ return '&aname(anchorID[,super][,full][,noid]){[Link title]};';
}
} else {
if ($convert) {
----
-こちらも同時にコミットしました。 -- [[henoheno]] &new{2005-08-07 (日) 22:45:57};
#comment
** 別件: bodyに&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