I know I believe in nothing but it is my sweet nothing.:2004年08月分

2004/08/15(Sun)

(ry

@ttp://www.netbsd.org/Changes/#newdev200408

なんですが、検査とか通院とか出張とかVAIO壊れたとかいろいろ地雷踏んでしまい
なーんも身動き取れず、いろいろとごめんなさい。
今週終われば夏休み貰えるので、そしたらちゃんと働くんで許して。

@vfprintf(3)

こっちもwchar_t対応(%lc %ls)しよーかと、ちょっとソースを読んでみる。
で、SUSv3には↓の記述があるけど

The format is a character string, beginning and ending in its initial shift state, if any.

NetBSDはshift stateがあるならmultibyteでしょーとmbrtowc(3)でparseしてるけど、
FreeBSDはmultibyteとは書いてないじゃんとshinglebyteとしてparseしてるのね。
FreeBSDの実装だと7bitでstatefulなmultibyteの場合困るので
まーNetBSDが正解でしょうね。

2004/08/21(Sat)

(ry

@vfscanf/vfprintf support %lc(%C), %ls(%S) format

/distfiles/citrus/NetBSD/08_vfscanf_vfprintf_wchar_t-support.patch
いつものとおりテストしてないっす。

vfprintfはSUSv3通りに実装するなら%lsではwcrtombを使うべきだけんど
UTF-7での冗長な変換( /diary/?20040216#16-1-1参照)
を防ぐため、wcsrtombsしてmallocしとります。
fprintfにはENOMEMもありなので見逃して。

@Citrus UTF-7 support

/distfiles/citrus/NetBSD/citrus_utf7-20040401.patch.gz
↑ですが、壊れてますね orz.
src/lib/libc/citrus/citrus_ctype_templete.cへのpatchと
src/share/locale/ctype/en_US.UTF-7が入ってないのでまともに動きません。
作り直すので、ちょっと待ってください。

2004/08/22(Sun)

(ry

@Citrus UTF-7 support

patch作成やり直し。
/distfiles/citrus/NetBSD/citrus_utf7-20040822.patch.gz
あとvfprintf/vfscanfへのpatchもしょぼいミスがあったので入れ換えました。

@最近のFreeBSD

http://perforce.freebsd.org/userView.cgi?USER=tjr
tjr's iconvでつか。
perforceの使い方よー知らんのでコードが見れないのだけれども、ソース一覧から見るに
内部UCS4で、変換テーブルは*.oなGNU libiconv方式っぽいじゃな~い?

残念! CSI斬り!

@

こっから見れました、まあ予想通りか。
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/tjr/freebsd%2dtjr/src/lib/libiconv&HIDEDEL=NO

それと
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/tjr/freebsd%2dtjr/src/lib/libc/locale&HIDEDEL=NO
以前やってたstateful encodingサポートは諦めた?

残念! rune(3)との互換性の呪い斬り!