diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-12-06 09:04:03 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-12-06 09:04:03 +0000 |
commit | dee96209bfbb957538c7adeb01a65f3830749179 (patch) | |
tree | 3289aa4829f7fcb044cfa70341caaafd1aa086b0 /string.c | |
parent | 4263bb432accd9bd98654c3e8cc312414e7db906 (diff) |
19991206
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r-- | string.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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; } |