aboutsummaryrefslogtreecommitdiffstats
path: root/ext/-test-
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-24 07:38:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-24 07:38:37 +0000
commit011247171be591f9ece91c8d644455ce9ae0353b (patch)
treeadbc2ce7f92b27cc3897212545afb862d7776810 /ext/-test-
parent71cfd5e3360f8e61c8052da5aab64d9982f46fa2 (diff)
downloadruby-011247171be591f9ece91c8d644455ce9ae0353b.tar.gz
string.c: pool only bare strings in fstring
* string.c (fstr_update_callback): pool bare strings only. * string.c (rb_fstring): return the original string with sharing a fstring if it has extra attributes, not the fstring itself. [ruby-dev:49188] [Bug #11386] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/-test-')
-rw-r--r--ext/-test-/string/fstring.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/ext/-test-/string/fstring.c b/ext/-test-/string/fstring.c
new file mode 100644
index 0000000000..b65c98ce6d
--- /dev/null
+++ b/ext/-test-/string/fstring.c
@@ -0,0 +1,15 @@
+#include "ruby.h"
+
+VALUE rb_fstring(VALUE str);
+
+VALUE
+bug_s_fstring(VALUE self, VALUE str)
+{
+ return rb_fstring(str);
+}
+
+void
+Init_fstring(VALUE klass)
+{
+ rb_define_singleton_method(klass, "fstring", bug_s_fstring, 1);
+}