mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
use frozen string of symbols
* range.c (range_step, range_each): String#upto should never modifies the receiver, use frozen strings to enumerate symbols. * re.c (reg_operand): matching target is not modified. * ext/socket/constants.c (constant_arg): str_to_int never modifies argument strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3dba6dabb6
commit
523ecd29b8
3 changed files with 6 additions and 6 deletions
|
@ -22,7 +22,7 @@ constant_arg(VALUE arg, int (*str_to_int)(const char*, long, int*), const char *
|
|||
int ret;
|
||||
|
||||
if (SYMBOL_P(arg)) {
|
||||
arg = rb_sym_to_s(arg);
|
||||
arg = rb_sym2str(arg);
|
||||
goto str;
|
||||
}
|
||||
else if (!NIL_P(tmp = rb_check_string_type(arg))) {
|
||||
|
|
8
range.c
8
range.c
|
@ -429,11 +429,11 @@ range_step(int argc, VALUE *argv, VALUE range)
|
|||
else if (SYMBOL_P(b) && SYMBOL_P(e)) { /* symbols are special */
|
||||
VALUE args[2], iter[2];
|
||||
|
||||
args[0] = rb_sym_to_s(e);
|
||||
args[0] = rb_sym2str(e);
|
||||
args[1] = EXCL(range) ? Qtrue : Qfalse;
|
||||
iter[0] = INT2FIX(1);
|
||||
iter[1] = step;
|
||||
rb_block_call(rb_sym_to_s(b), rb_intern("upto"), 2, args, sym_step_i, (VALUE)iter);
|
||||
rb_block_call(rb_sym2str(b), rb_intern("upto"), 2, args, sym_step_i, (VALUE)iter);
|
||||
}
|
||||
else if (ruby_float_step(b, e, step, EXCL(range))) {
|
||||
/* done */
|
||||
|
@ -771,9 +771,9 @@ range_each(VALUE range)
|
|||
else if (SYMBOL_P(beg) && SYMBOL_P(end)) { /* symbols are special */
|
||||
VALUE args[2];
|
||||
|
||||
args[0] = rb_sym_to_s(end);
|
||||
args[0] = rb_sym2str(end);
|
||||
args[1] = EXCL(range) ? Qtrue : Qfalse;
|
||||
rb_block_call(rb_sym_to_s(beg), rb_intern("upto"), 2, args, sym_each_i, 0);
|
||||
rb_block_call(rb_sym2str(beg), rb_intern("upto"), 2, args, sym_each_i, 0);
|
||||
}
|
||||
else {
|
||||
VALUE tmp = rb_check_string_type(beg);
|
||||
|
|
2
re.c
2
re.c
|
@ -2753,7 +2753,7 @@ static VALUE
|
|||
reg_operand(VALUE s, int check)
|
||||
{
|
||||
if (SYMBOL_P(s)) {
|
||||
return rb_sym_to_s(s);
|
||||
return rb_sym2str(s);
|
||||
}
|
||||
else {
|
||||
return (check ? rb_str_to_str : rb_check_string_type)(s);
|
||||
|
|
Loading…
Reference in a new issue