mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Make String#replace to check equality before modifying flags.
ref #3588
This commit is contained in:
+1
-1
@@ -520,9 +520,9 @@ str_replace(mrb_state *mrb, struct RString *s1, struct RString *s2)
|
||||
long len;
|
||||
|
||||
check_frozen(mrb, s1);
|
||||
if (s1 == s2) return mrb_obj_value(s1);
|
||||
s1->flags &= ~MRB_STR_NO_UTF;
|
||||
s1->flags |= s2->flags&MRB_STR_NO_UTF;
|
||||
if (s1 == s2) return mrb_obj_value(s1);
|
||||
len = RSTR_LEN(s2);
|
||||
if (RSTR_SHARED_P(s1)) {
|
||||
str_decref(mrb, s1->as.heap.aux.shared);
|
||||
|
||||
Reference in New Issue
Block a user