02/08/15 07:55
>>314
んーと、rune(3)はISO-C/POSIX/SUSのようなstandardではない。
deprecatedなAPIであることがまず前提。
んで、runeはCSIなframeworkだけんど、stateful encodingを現状では
サポートしていないし、reentrant(restartable)にするには大幅に拡張が必要ですと。
つまり素のruneベースだとAmendant1のキモであるmbrtowc/wcrtombとかの
実装は難しい、だから小手先にすぎないとか、だめぽ言ってるわけ。
# NetBSD/Citrus XPG4DLではitojun氏のruneの拡張版を元にしてたけど
# 途中でいろいろ問題が生じた様子、↓で始まるスレッドを参照。
# URLリンク(www.haun.org)
小手先でなく、きちんとmbrtowc/wcrtombを実装した上で、
(もしbinary compatibilityの為に残すのであれば)
sgetrune/sputruneの内部でmbrtowc/wcrtombが動くように
simとして書き直すべきと思ってるんだけどね。
でもsetrunelocaleとsetlocaleって混ぜるな危険(当り前か)だし
libcのmajor上げたタイミングでごっそり捨てちまったほうが世の為だな。