■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

Cygwin使っている人いますか? part4

548 :336 :02/05/18 23:48
>>547
cygwin側のwchar.hは不要になります。
# 5/11版のChangeLogにすでにCygwin側は削除したって書いてあったような。

で、mbstate_tは現時点ではwchar.hに定義しておけば良さそう。
むしろ今考えてるのは、mbstate_tの中身をどう設計するか。

これについては、newlib自身が既にmb(s)towc(s) / wc(s)tomb(s)を拡張した
Thread SafeなAPI、_mb(s)towc(s)_r / _wc(s)tomb(s)_rの独自拡張をもっとりやす。
こいつをwrapすれば簡単にmb(s)towc(s) / wcr(s)tomb(s)の実装は
できるでしょ、ってのがF氏の考えなわけでして、当然NetBSDからのコピペじゃ駄目です。

んで、newlib実装では、sys/reent.hのなかのstruct _reentがステート保持に
使われてます。よって、mbstate_tは_reentをtypedefすりゃいいのかも、なんですが
mbstate_tの初期化にはいくつも方言があって、漏れの知ってる限りでは

1. mbstate_t state = { 0 }
2. mbstate_t state; memset (&state, 0, sizeof(state));
3. mbstate_t state; mbsinit(&state);

とかあるんで、単純なtypedefじゃ駄目なんですよね。

sys/reent.hをきっちり理解しないとmbsinit()すら書けないのですが
newlibのソースを読んでる暇がないです、はい。
# つーかNetBSDに比べてごちゃごちゃしすぎだー。


掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)