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



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

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

226 :336 :02/07/21 05:58
wcharまわりの移植はそれほど難しくはないはずです、以下作業を思いつく限り。

1. dlopen/dlsym使えんので、setlocale()内でif文でシコシコとstruct _CurrentRuneLocale初期化
setlocale.cとsetrunelocale.cわけとく必要ないのでくっつけちゃえ。setlocale1.c/setlocale32.cは後述

2. rune.cにある、/usr/share/locale/*/LC_CTYPEファイルからの__variableの読出(_Read_RuneMagi())は
*現時点では*サポートしないことにして削除。__variableの中身はどっかにconstで定義してsetlocale()でピーコ。
つーわけでrunetype.hのstruct _File*は不要(もともとあれFreeBSD互換性対策だし)。
それとgetenv("PATH_LOCALE")とかも現時点ではいらない。

3. reentrant化、statefulな変数をstruct _reentに追い出し(_CurrentRuneLocaleとか、internal multibyte stateが対象)
必要な関数にはstruct _reentのポインタが引数に渡るようにする。
# たかが_setlocale_r()のために巨大なstruct _reentを使うのもちょっぴり欝だけど。

wctypeもいっしょに取り込んでもいいけど、_setlocale_r()があるならwctypeだけでなく
ctypeにも_rつき必要だよねってな問題もあるので、現時点ではやめときましょう。



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

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