summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-07-16 22:51:55 +0900
committerGitHub <[email protected]>2019-07-16 22:51:55 +0900
commit9af3b7c6258de327218dd04e69d76ae68caf17b1 (patch)
treedc28add2fe48f97f4d37c4e392a2d6f2605f69eb
parentd9a656756be1596c3816c22890dd1acec1f8d8eb (diff)
parent31492a177c34485e9bcc441e74c208366920f7b2 (diff)
downloadmruby-9af3b7c6258de327218dd04e69d76ae68caf17b1.tar.gz
mruby-9af3b7c6258de327218dd04e69d76ae68caf17b1.zip
Merge pull request #4583 from shuujii/set-MRB_STR_ASCII-flag-in-some-methods-of-String
Copy receiver's `MRB_STR_ASCII` flag in some methods of `String`
-rw-r--r--src/string.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c
index 39b3515a3..6b7cced13 100644
--- a/src/string.c
+++ b/src/string.c
@@ -487,6 +487,7 @@ mrb_str_byte_subseq(mrb_state *mrb, mrb_value str, mrb_int beg, mrb_int len)
s->as.heap.ptr += beg;
s->as.heap.len = len;
}
+ RSTR_COPY_ASCII_FLAG(s, orig);
return mrb_obj_value(s);
}
@@ -902,6 +903,7 @@ mrb_str_times(mrb_state *mrb, mrb_value self)
memcpy(p + n, p, len-n);
}
p[RSTR_LEN(str2)] = '\0';
+ RSTR_COPY_ASCII_FLAG(str2, mrb_str_ptr(self));
return mrb_obj_value(str2);
}
@@ -2837,6 +2839,7 @@ mrb_str_inspect(mrb_state *mrb, mrb_value str)
}
}
mrb_str_cat_lit(mrb, result, "\"");
+ RSTR_COPY_ASCII_FLAG(mrb_str_ptr(result), mrb_str_ptr(str));
return result;
}