From: "U.Nakamura" Date: 2007-12-10T09:48:29+09:00 Subject: [ruby-dev:32500] Re: `split': negative string size (or size too big) (ArgumentError) こんにちは、なかむら(う)です。 In message "[ruby-dev:32472] Re: `split': negative string size (or size too big) (ArgumentError)" on Dec.06,2007 20:36:28, wrote: | これ以外にも、 | p "あいうえお".partition("う") #=> ["あい", "う", "お"] | | # -*- encoding: shift_jis -*- | p "表示".partition("\\") #=> ["表", "\\", ""] | | とかいろいろおかしなことになってるので、byte/char offsetの使いわ | けに関してはもっと見直す必要がありそうです。 ちょっとミニマム再現ケースが作れてないのですが、手元では String#subでSEGVも起きています。 | > rb_reg_search()が文字単位の位置を返すのに、rb_str_split_m()では | > byte位置として使っているためですね。BEG()やEND()もbyte位置のまま | > なので、メソッドの戻り値として返すときに文字位置に変換するように | > したほうがいいのではないでしょうか。 | | とりあえずこっちだけ。 このパッチで問題が解決するっぽいことは確認してあるのですが、 入らないんでしょうか? それでは。 -- U.Nakamura