diff --git a/ext/erb/erb.c b/ext/erb/erb.c index 1c3371d24e..a103fb30e4 100644 --- a/ext/erb/erb.c +++ b/ext/erb/erb.c @@ -76,7 +76,9 @@ optimized_escape_html(VALUE str) static VALUE erb_escape_html(VALUE self, VALUE str) { - str = rb_convert_type(str, T_STRING, "String", "to_s"); + if (!RB_TYPE_P(str, T_STRING)) { + str = rb_convert_type(str, T_STRING, "String", "to_s"); + } if (rb_enc_str_asciicompat_p(str)) { return optimized_escape_html(str);