From: matz@... (Yukihiro Matsumoto) Date: 2000-03-15T13:43:14+09:00 Subject: [ruby-talk:01828] Re: Very strange problem in chomp and/or sub, or with me In message "[ruby-talk:01825] Very strange problem in chomp and/or sub, or with me" on 00/03/14, Dave Thomas writes: |FE: [10, 15, 22, 120]-> [10,\ 15,\ 22,\ 120]^@ |18: '[0.8333333333, 1.25, 1.833333333, 10.0]' |FE: [0.8333333333, 1.25, 1.833333333, 10.0]-> | [0.8333333333,\ 1.25,\ 1.833333333,\ 10.0]^@ | |Note the NULL character added to the end of the result. |Am I doing something stupid here? No, it's a bug. It'll be solved by the following patch, which I already sent to Dave. But I think the problem reported in [ruby-talk:01826] is another story. --- string.c 2000/03/13 07:18:39 1.24 +++ string.c 2000/03/15 04:13:04 @@ -2364,2 +2356,3 @@ if (len < RSTRING(str)->len) { + rb_str_modify(str); RSTRING(str)->len = len; @@ -2376,2 +2369,3 @@ memcmp(RSTRING(rs)->ptr, p+len-rslen, rslen) == 0)) { + rb_str_modify(str); RSTRING(str)->len -= rslen;