summaryrefslogtreecommitdiff
path: root/ext/-test-/string/set_len.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-09-26 13:25:44 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-09-26 15:35:40 +0900
commit6b66b5fdedb2c9a9ee48e290d57ca7f8d55e01a2 (patch)
treea534e2aacfc78f270444742f4837ea629b281d27 /ext/-test-/string/set_len.c
parentf0d827860783afd34e12450dd310e50917d396e3 (diff)
[Bug #19902] Update the coderange regarding the changed region
Diffstat (limited to 'ext/-test-/string/set_len.c')
-rw-r--r--ext/-test-/string/set_len.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/-test-/string/set_len.c b/ext/-test-/string/set_len.c
index 219cea404c..049da2cdb5 100644
--- a/ext/-test-/string/set_len.c
+++ b/ext/-test-/string/set_len.c
@@ -7,8 +7,18 @@ bug_str_set_len(VALUE str, VALUE len)
return str;
}
+static VALUE
+bug_str_append(VALUE str, VALUE addendum)
+{
+ StringValue(addendum);
+ rb_str_modify_expand(str, RSTRING_LEN(addendum));
+ memcpy(RSTRING_END(str), RSTRING_PTR(addendum), RSTRING_LEN(addendum));
+ return str;
+}
+
void
Init_string_set_len(VALUE klass)
{
rb_define_method(klass, "set_len", bug_str_set_len, 1);
+ rb_define_method(klass, "append", bug_str_append, 1);
}