I know I believe in nothing but it is my sweet nothing.:2010年11月分

2010/11/23(Tue)

[NetBSD] mbrtowc(3) bug

これ、直してみた patch。テスト書いたらcommitするする。
仕様をおもいくそ勘違いしてたのでlibcursesにも修正が必要、そっちは先にcommitしました。

それにしてもmbrtowc(3)はmbtowc(3)みたいにinternal stateを
強制的に初期化する方法ないんだな、それに現在のlocaleが
statelessなのかstatefulなのかを知る方法がないのも困らんのかね。

[NetBSD][POSIX:2008] mbsnrtowcs/wcsnrtombs

差分、まだ全然テストしていないので以下略

[OpenBSD] the status of Citrus patch for OpenBSD

@

id:hikobee33 さんとこ。

リンクいただいてる記事を書いた 2009/11 からだいぶ状況は変わってますな。

最新の OpenBSD 4.8 では独自の (NetBSD/Citrus 由来でない) UTF-8 locale サポートが
入ったので、うち他で提供してる国際化(多言語化ではない) patch は適用せずとも
(つか patch は正しくあたらないはずです)LANG=ja_JP.UTF-8 で動作するはず。

# まぁちゃんと動くかどうか最近のOpenBSD使ってないので知りませんが:D

@

そいや OpenBSD 4.8 のリリースをもって Citrus patch の提供は今後どうすっかなと。
UTF-8 以外の locale やiconv(3), gettext(3) などまだまだ merge するものはあるわけですが
NetBSD と OpenBSD のポリシーの違いやパッケージシステムの問題などで
うちの patch がそのまま採用されることはなさげだし。

# OpenBSD のポリシーにあうよう NetBSD 側のコードを直すような作業は御免こうむるし

まぁ patch 提供やめちゃうとiconv(3) や libintl についてバイナリ互換性の問題があるのですが
どーせ OpenBSD はリリース出るたびに libc の major が bump するので全部再 compile 必須だしね。

ただ相変わらず日本からは全然ダウンロード無いんですが:D 中国ロシアからは
4.8 のリリース直後からお客さんいつものように来てるんだよなーどうしようかね。