From dee96209bfbb957538c7adeb01a65f3830749179 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 6 Dec 1999 09:04:03 +0000 Subject: 19991206 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'string.c') diff --git a/string.c b/string.c index 7b8c558c11..ee22f202e4 100644 --- a/string.c +++ b/string.c @@ -128,7 +128,7 @@ rb_str_to_str(str) } static void -rb_str_assign(str, str2) +rb_str_become(str, str2) VALUE str, str2; { if (str == str2) return; @@ -422,7 +422,9 @@ rb_str_concat(str1, str2) } } if (TYPE(str2) != T_STRING) str2 = rb_str_to_str(str2); - return rb_str_cat(str1, RSTRING(str2)->ptr, RSTRING(str2)->len); + str1 = rb_str_cat(str1, RSTRING(str2)->ptr, RSTRING(str2)->len); + if (OBJ_TAINTED(str2)) OBJ_TAINT(str1); + return str1; } int @@ -746,7 +748,7 @@ rb_str_succ_bang(str) VALUE str; { rb_str_modify(str); - rb_str_assign(str, rb_str_succ(str)); + rb_str_become(str, rb_str_succ(str)); return str; } -- cgit v1.2.3