From: nobu.nakada@... Date: 2001-11-07T10:35:04+09:00 Subject: [ruby-dev:15047] can't set chomped String to environment なかだです。 1.7で、chompしたStringがNUL terminateされてなくて環境変数に設定 できなくなっています。同じ理由で他にもエラーになるところがある かもしれませんが、とりあえずこんなところで。 STR2CSTR()は自動的にNUL terminateするのにStringValue()はしない、 というのも原因のような気もしますが。 Index: string.c =================================================================== RCS file: /cvs/ruby/src/ruby/string.c,v retrieving revision 1.83 diff -u -2 -p -r1.83 string.c --- string.c 2001/10/31 06:53:22 1.83 +++ string.c 2001/11/06 23:54:21 @@ -2674,11 +2674,13 @@ rb_str_chomp_bang(argc, argv, str) RSTRING(str)->len--; } - return str; } else if (RSTRING(str)->ptr[len-1] == '\r') { RSTRING(str)->len--; - return str; } - return Qnil; + else { + return Qnil; + } + RSTRING(str)->ptr[RSTRING(str)->len] = '\0'; + return str; } } -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦