aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2022-11-03 23:26:53 -0700
committergit <svn-admin@ruby-lang.org>2022-11-04 07:07:24 +0000
commit20efeaddbe246f3b2eaee4f17f54a814777176a8 (patch)
tree740ebc156079c1797f4f088085de047df042a9ee
parentdc5d06e9b145f7d5f8c5f7c3757b43f2d68833fd (diff)
downloadruby-20efeaddbe246f3b2eaee4f17f54a814777176a8.tar.gz
[ruby/erb] Optimize away to_s if it's already T_STRING
[Feature #19102]https://github.com/ruby/erb/commit/38c6e182fb
-rw-r--r--ext/erb/erb.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/ext/erb/erb.c b/ext/erb/erb.c
index 92cfbd0769..9376fa5dcb 100644
--- a/ext/erb/erb.c
+++ b/ext/erb/erb.c
@@ -68,9 +68,9 @@ optimized_escape_html(VALUE str)
}
static VALUE
-cgiesc_escape_html(VALUE self, VALUE str)
+erb_escape_html(VALUE self, VALUE str)
{
- StringValue(str);
+ str = rb_convert_type(str, T_STRING, "String", "to_s");
if (rb_enc_str_asciicompat_p(str)) {
return optimized_escape_html(str);
@@ -80,13 +80,6 @@ cgiesc_escape_html(VALUE self, VALUE str)
}
}
-static VALUE
-erb_escape_html(VALUE self, VALUE str)
-{
- str = rb_funcall(str, rb_intern("to_s"), 0);
- return cgiesc_escape_html(self, str);
-}
-
void
Init_erb(void)
{