[PHP-dev 1221] Re: mb_get_info()を拡張してみた
Tadashi Jokagi
ml @ elf.no-ip.org
2006年 2月 12日 (日) 04:11:33 JST
上鍵です.こんにちは.
廣川さんありがとうございます.ちなみに「すべて取得」しかできな
いので,任意に取得のパッチを作ろうとしたのですが,まだスキル不十
分で実装できませんでした.できたら改めて提案したいと思います.
さらに中途半端のまま気になる関数があったので,調べていたのです
が,iconv のエンコーディング指定をする iconv_set_encoding() があ
りますが,これは複数の内部変数を一度に設定できませんが,エンコー
ディングを取得する iconv_get_encoding() は「"all"」を渡すことで
すべてのエンコーディングを取得できます.
http://php.net/iconv_set_encoding
http://php.net/iconv_get_encoding
で,すべて設定できるように引数に「"all"」を受け付けるようにしてみ
ようと思ったのですが,コードを見て悩んでしまいました.現状のコー
ドは
if(!strcasecmp("input_encoding", type)) {
retval = zend_alter_ini_entry("iconv.input_encoding", sizeof("iconv.input_encoding"), charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
} else if(!strcasecmp("output_encoding", type)) {
retval = zend_alter_ini_entry("iconv.output_encoding", sizeof("iconv.output_encoding"), charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
} else if(!strcasecmp("internal_encoding", type)) {
retval = zend_alter_ini_entry("iconv.internal_encoding", sizeof("iconv.internal_encoding"), charset, charset_len, PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
} else {
RETURN_FALSE;
}
となっているので,zend_alter_ini_entry()を 3 行書くか〜と思ったの
ですが,返り値が正しく返せない可能性があります(3 つすべて成功しな
かった場合)こういった場合,PHP 的には今までどういう実装をしていた
のでしょうか?
#同じ値を設定だから 1 つ目の返り値だけ見るという考えもできなくはない
ですが…
--
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Setagaya city mailto:elf @ elf.no-ip.org
YokukitanaII http://elf.no-ip.org/
Yokukitablog http://blog.poyo.jp/
Yokukitawiki http://wiki.poyo.jp/
PHP-dev メーリングリストの案内