summaryrefslogtreecommitdiff
path: root/ext/-test-/string/fstring.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/-test-/string/fstring.c')
-rw-r--r--ext/-test-/string/fstring.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/ext/-test-/string/fstring.c b/ext/-test-/string/fstring.c
new file mode 100644
index 0000000000..2374319fe3
--- /dev/null
+++ b/ext/-test-/string/fstring.c
@@ -0,0 +1,30 @@
+#include "ruby.h"
+#include "ruby/encoding.h"
+
+VALUE rb_fstring(VALUE str);
+
+VALUE
+bug_s_fstring(VALUE self, VALUE str)
+{
+ return rb_fstring(str);
+}
+
+VALUE
+bug_s_rb_enc_interned_str(VALUE self, VALUE encoding)
+{
+ return rb_enc_interned_str("foo", 3, RDATA(encoding)->data);
+}
+
+VALUE
+bug_s_rb_enc_str_new(VALUE self, VALUE encoding)
+{
+ return rb_enc_str_new("foo", 3, RDATA(encoding)->data);
+}
+
+void
+Init_string_fstring(VALUE klass)
+{
+ rb_define_singleton_method(klass, "fstring", bug_s_fstring, 1);
+ rb_define_singleton_method(klass, "rb_enc_interned_str", bug_s_rb_enc_interned_str, 1);
+ rb_define_singleton_method(klass, "rb_enc_str_new", bug_s_rb_enc_str_new, 1);
+}