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



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

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

643 :336 :02/06/02 00:09
>>637
まだnewlibのソース&仕様書読みきれてないんで...
以下の文章全く自信なし、デタラメだったら指摘してください。

1) newlibだと_setlocale_rがあるので、当然↓が必要です、と。
 size_t _mbrtowc_r(struct _reent*, wchar_t *pwc, const char *s, size_t n, mbstate_t *ps);
# psがNULLの場合は、struct _reentに定義されたinternal mbstate_tが使われますよ、と。

2) でもそれって今ある↓とほぼ同じもんだよね、だから_mbtowc_rをちょっと弄ればOKじゃん?
 int _mbrtowc_r(struct _reent*, wchar_t *pwc, const char *s, size_t n, int *state);

3) ただし、_mbtowc_rは、state != NULLでないと駄目なので、いろいろ修正が必要。
# それとこのへんまだ全然理解不足だけど、internal stateの初期化は今のsys/reent.hの
# _REENT_CHECK_MISCマクロだとひじょーにマズーな予感、このへん修正量大かも。

4) んなわけで結論は、極力newlibの実装を生かすのであれば、mbstate_tはtypedef intでOK、かなぁ。
ただし、http://www.haun.org/ml/b-l-j/a/500/512.htmlで始まるスレッド読むと
今の_mbtowc_rは根本的にダメダメな予感がしてるのですが...

>>639
じゃあ、binaryは明日にでもうpします。

>>641
もう一度手順を良く読むべし、rm -rf bz2libとか書いてなかった?


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

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