summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-07-16 21:56:58 +0900
committerKOBAYASHI Shuji <[email protected]>2019-07-16 21:56:58 +0900
commit31492a177c34485e9bcc441e74c208366920f7b2 (patch)
treedc28add2fe48f97f4d37c4e392a2d6f2605f69eb /src/string.c
parentd9a656756be1596c3816c22890dd1acec1f8d8eb (diff)
downloadmruby-31492a177c34485e9bcc441e74c208366920f7b2.tar.gz
mruby-31492a177c34485e9bcc441e74c208366920f7b2.zip
Copy receiver's `MRB_STR_ASCII` flag in some methods of `String`
Diffstat (limited to 'src/string.c')
-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;
}