1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* eval.c (rb_yield_0): call avalue_to_mrhs() to assign block

parameter |a|. [ruby-dev:19897]

* ruby.c (ruby_set_argv): freeze argument strings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2003-03-25 08:26:08 +00:00
parent d4db9e9c60
commit 0cd7c01c6a
3 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,10 @@
Tue Mar 25 12:24:15 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (rb_yield_0): call avalue_to_mrhs() to assign block
parameter |a|. [ruby-dev:19897]
* ruby.c (ruby_set_argv): freeze argument strings.
Tue Mar 25 12:01:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
* io.c (rb_io_initialize): should check rb_secure(4).

2
eval.c
View file

@ -3982,7 +3982,7 @@ rb_yield_0(val, self, klass, pcall, avalue)
massign(self, block->var, val, pcall);
}
else {
if (avalue) val = avalue_to_svalue(val);
if (avalue) val = avalue_to_mrhs(val);
if (val == Qundef) val = Qnil;
assign(self, block->var, val, pcall);
}

5
ruby.c
View file

@ -1055,7 +1055,10 @@ ruby_set_argv(argc, argv)
#endif
rb_ary_clear(rb_argv);
for (i=0; i < argc; i++) {
rb_ary_push(rb_argv, rb_tainted_str_new2(argv[i]));
VALUE arg = rb_tainted_str_new2(argv[i]);
OBJ_FREEZE(arg);
rb_ary_push(rb_argv, arg);
}
}