* hash.c (env_fetch): yield coerced string.

* hash.c (env_assoc): return coerced string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-12-06 12:13:25 +00:00
Родитель dfe923cd69
Коммит f534bc2ed9
1 изменённых файлов: 3 добавлений и 5 удалений

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

@ -3043,7 +3043,7 @@ rb_f_getenv(VALUE obj, VALUE name)
static VALUE
env_fetch(int argc, VALUE *argv)
{
VALUE key, name;
VALUE key;
long block_given;
const char *nam, *env;
@ -3053,8 +3053,7 @@ env_fetch(int argc, VALUE *argv)
if (block_given && argc == 2) {
rb_warn("block supersedes default value argument");
}
name = key;
nam = env_name(name);
nam = env_name(key);
env = getenv(nam);
if (!env) {
if (block_given) return rb_yield(key);
@ -3842,9 +3841,8 @@ static VALUE
env_assoc(VALUE env, VALUE key)
{
const char *s, *e;
VALUE name = key;
s = env_name(name);
s = env_name(key);
e = getenv(s);
if (e) return rb_assoc_new(key, rb_tainted_str_new2(e));
return Qnil;