* hash.c (env_reject_bang): hide keys array from ObjectSpace

* hash.c (env_select_bang): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
charliesome 2013-02-06 13:46:26 +00:00
Родитель 834fd50ae2
Коммит e45e06410d
2 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Wed Feb 6 22:25:00 2013 Charlie Somerville <charlie@charliesomerville.com>
* hash.c (env_reject_bang): hide keys array from ObjectSpace
* hash.c (env_select_bang): ditto
Wed Feb 6 17:33:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (multiarch): add option to move architecture dependent

2
hash.c
Просмотреть файл

@ -2713,6 +2713,7 @@ env_reject_bang(VALUE ehash)
RETURN_SIZED_ENUMERATOR(ehash, 0, 0, rb_env_size);
keys = env_keys(); /* rb_secure(4); */
RBASIC(keys)->klass = 0;
for (i=0; i<RARRAY_LEN(keys); i++) {
VALUE val = rb_f_getenv(Qnil, RARRAY_PTR(keys)[i]);
if (!NIL_P(val)) {
@ -2816,6 +2817,7 @@ env_select_bang(VALUE ehash)
RETURN_SIZED_ENUMERATOR(ehash, 0, 0, rb_env_size);
keys = env_keys(); /* rb_secure(4); */
RBASIC(keys)->klass = 0;
for (i=0; i<RARRAY_LEN(keys); i++) {
VALUE val = rb_f_getenv(Qnil, RARRAY_PTR(keys)[i]);
if (!NIL_P(val)) {