sprintf.c: rb_inspect returns a string

* sprintf.c (rb_str_format): rb_inspect() always returns a string.
  rb_obj_as_string() has no more effect.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-06-26 08:58:00 +00:00
Родитель 20cecf1d33
Коммит c47ef3dc13
1 изменённых файлов: 6 добавлений и 2 удалений

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

@ -707,8 +707,12 @@ rb_str_format(int argc, const VALUE *argv, VALUE fmt)
VALUE arg = GETARG();
long len, slen;
if (*p == 'p') arg = rb_inspect(arg);
str = rb_obj_as_string(arg);
if (*p == 'p') {
str = rb_inspect(arg);
}
else {
str = rb_obj_as_string(arg);
}
if (OBJ_TAINTED(str)) tainted = 1;
len = RSTRING_LEN(str);
rb_str_set_len(result, blen);