Project

General

Profile

Bug #2369

ENV's strange behavior on WinXP

Added by wanabe (_ wanabe) over 10 years ago. Updated almost 9 years ago.

Status:
Rejected
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.2dev (2009-11-14 trunk 25768) [i386-mingw32]
Backport:

Description

=begin
Windows XP SP2 環境の Mingw で、環境変数に最大文字数に近い長さの値か
または最大文字数を超えた長さの値を設定しようとした場合の挙動がおかしいようです。
確認用のスクリプトを添付します。

スクリプトのコメントに書きましたとおり、
32767 文字よりやや短い値をセットすると値が正しく取り出せません。
GetEnvironmentVariableAで確認すると正しく取り出せているようです。

また、32767 文字を超えた値を何度もセットすると SEGV します。
恐らくこのために、make test-all が TestRequire#test_require_too_long_filename か
あるいは数個先の TestRipper_Generic#test_parse_files 等で落ちます。

根本的には前者は kernel32.dll、後者は msvcrt.dll のバグだとは思うのですが、
よろしければ対策をお願いいたします。
=end


Files

test.rb (567 Bytes) test.rb wanabe (_ wanabe), 11/15/2009 02:11 PM

Also available in: Atom PDF