From: matz@... (Yukihiro Matsumoto) Date: 1997-04-14T16:22:47+09:00 Subject: [ruby-list:2815] Re: [BUG?] strip まつもと ゆきひろです In message "[ruby-list:2796] Re: [BUG?] strip" on 97/04/12, 渡辺博文 writes: | |わたなべです. |:つーか,やっぱりisspace()の問題だと思うなあ.isspace()が負の |:数を受け付けないという仕様だとは聞いてないので,この件は |:gnu-win32で対応してもらいたいものですけど….そういうわけに |:はいかないものですかねえ. | |K&R の時代も明確には決まってなかったと思います. 0x7f まで扱 |えれば問題なかったわけだし. だから GNU Win32 だけとは限らな |いんじゃないかな? むう,そうですか…. |確かにいまどきの library としてはちゃっとお粗末としかいいよ |うがないですね. |とりあえず |#define isALNUM(c) isalnum((unsigned int)c) |... |#define isSPACE(c) isspace((unsigned int)c) |... |を ruby.h かなにかに入れといて, こっちを使うようにするっての |はだめ? 実は perl はだいたいこんな感じになってる, というか自 |前のを用意してます. LOCALE を使うとだいたい上記のような感じ |です. そうしようかなあ,とも思ったのですが,とりあえず今回は文字列 構造体の実体をunsigned char*に変更して必要そうなポインタを全 てunsignedにすることで対応しました.かなりあちこち変更したの で見落としがあるかも. |#だから最近の perl5 は LOCALE を使うと正規表現によるあの逃 |#げは使えません. taint になります. 良くわかんなかったんですけど,perl5ではLOCALEが理由で正規表 現によるマッチの結果もtaintになる,ということだけはわかりま した.rubyでもどこまでtaintにすべきかちゃんと結論を出さない といけませんね. まつもと ゆきひろ /:|)