[PHP-dev 102] Re: [Patch] arg_separator bug in mbstring

Yasuo Ohgaki php-dev@php.gr.jp
Thu, 08 Nov 2001 13:03:57 +0900


大垣です。

説明不足だったかも知れないので捕捉します。

変更したコードののあとの方で、separatorはstrtokで使われていて
php.iniの設定(arg_separator.input)でseparatorは変更できます。

このパッチでphp_treat_dataとmbstr_treat_dataの基本的な動作が同じに
なると思います。

問題を再現するのは簡単で、arg_separator.input="&;"と設定して
phpinfo()を実行するスクリプトにquery stringを渡すと最初の変数しか
初期化され無いことが確認できます。(PHPビルド時に--enable-mbstirng
--enable-mbstr-enc-transが必要。)

# arg_separatorは確か4.0.6でも使われていたと思うので、
# --enable-mbstring --enable-mbstr-enc-transでコンパ
# イルし、arg_separator.inputに複数の文字を設定すると同じ
# 動作(最初のGET変数のみ初期化)をすると思います。(4.2.0-devも)

私もarg_separator.inputは使っていません。Bug reportが無かった
ので誰も";"をセパレータとしたXHTML Webサイトを作っていなかった様で
すね :)

# arg_separator.inputを追加したときの本家php-devの議論から
# ";"はXHTMLでは有効なセパレータと思っています。
# もしかして、間違っています?

--
Yasuo Ohgaki

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/