[PHP-dev 500] Re: [PATCH] mb_parse_str の共通部分の統合と php_mbstr_strtok_r()の導入

Moriyoshi Koizumi php-dev@php.gr.jp
Tue, 17 Sep 2002 03:45:53 +0900


小泉です。

レスありがとうございます。

> mbstringのコード内容は、私の不勉強さもあって問題点も多々あるかと思います。
> ぜひ参考にさせていただき、php4-devの方に反映させていただきたいと思います。

いえいえ、逆に廣川さんのソースを見て勉強になっているくらいです…。

> sourceforgeのコード変更については、ぜひ、小泉さんにもCVSアカウントを取得
> していただき、変更を適用していただくとよいかと思います。
> 今のところ、PHP 4.3.0のリリースブランチができた後に本家にsourceforge.jp
> の変更内容を反映させるというスケジュールだったと思います。
> いかがでしょうか? > 大垣さん

sourceforge.jp の方のアカウントも作りました。
いまはメンバー追加を大垣さんにお願いしているところです。

> また、もしmbstringの開発に興味がおありで、今後も開発にコミットされる意志
> がおありでしたら、本家php.netのCVSアカウントも申請されてはいかがでしょう
> か?

> http://www.php.net/cvs-php.php

大垣さんの勧めもあり、ついに先日 moriyoshi@php.net を取得しました。

まだ様子もわかっていないこともあり、
すぐに何かをコミットしたりするつもりはありませんが、
そのあたり、なにか暗黙のルールや手順などありましたら教えてくださると幸いで
す。みなさん、よろしくお願いします。

> 現在、米国出張中のためなかなかPHP関連の作業ができないのですが、今月末に
> は帰国しますので小泉さんの変更内容を詳しく見てみます。
> 
> http://ave.sytes.net/~koizumi/php.net/mbstring-mods-20020916.tar.gz
> をダウンロードしましたので、出張先で変更内容を少し見てみようと思いますが、
> 変更点が多いので少し時間がかかるかもしれません。

変更点が多く見えるのは、
おそらく auto-folding 用のコメントを追加したからだと思います :)

あとは、前のメールでは詳しく触れていませんでしたが、
php_mbstr_mbchar_bytes() という関数を追加しました。

これは、マルチバイト文字の先頭を指すポインタを渡すと、
そのマルチバイト文字が何バイトから成るかを返す関数です。

これを使って、php_mbstr_is_leadbyte() を再実装しています。

php_mbstr_is_leadbyte() は、UTF-8 など一文字あたりの文字数が2より多い
バイト数から構成される可能性もあるエンコーディングには対処できないと思った
ので、このような関数を用意してみた次第です。

ただ、mbfilterとの整合性をあまり考えていないため、
同等の機能を別の形での実装できるかどうか考える必要が出てきそうです。

とにかく、php.net のコードベースへの変更は、
変更点が多すぎるため、そのままコミットすることはない、と思っています。
小出しにしていきます。

それでは。