[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/