I know I believe in nothing but it is my sweet nothing.:2008年07月29日分

2008/07/29(Tue)

げつようび!

百過日。

夕焼けきれい!

花屋でバラ。

stateful encodingを考慮したfold -b -w の実装ってけっこうめんどくさい。
例えばISO-2022-JPの場合、JIS X0208(ESC$B)の文字中で現在のバイト数がwidthを超える場合
そこで改行するにはISO646-USへ復帰する為にESC(Bちゅーescape sequenceを
吐かないとならんのだけど、たうぜんこの分も現在のバイト数に含まれるのよね。
なもんで常にmbstate_tをsaveしつつwcrtomb(L'\n')してこの分を計算しないとならんわけで。
なぜこんなまんどくさい処理が必要か、C初心者だと思われるahoka氏に英誤で説明する自信ないっす。

昨日のstateless encodingでしか動かない差分だけ渡して、レビュー完ちゅうことでcommitしてもらって
時間のある時にワシが全面的に書き直すとかかな。
そもそもLANG=ja_JP.ISO-2022-JPで生活(以下略