diff --git a/ext/cgi/escape/escape.c b/ext/cgi/escape/escape.c index 75278a5399..f11a72cd82 100644 --- a/ext/cgi/escape/escape.c +++ b/ext/cgi/escape/escape.c @@ -9,6 +9,7 @@ RUBY_EXTERN const signed char ruby_digit36_to_number_table[]; #define char_to_number(c) ruby_digit36_to_number_table[(unsigned char)(c)] static VALUE rb_cCGI, rb_mUtil, rb_mEscape; +static ID id_accept_charset; static void html_escaped_cat(VALUE str, char c) @@ -186,7 +187,7 @@ optimized_unescape_html(VALUE str) } } -static int +static unsigned char url_unreserved_char(unsigned char c) { switch (c) { @@ -374,7 +375,7 @@ accept_charset(int argc, VALUE *argv, VALUE self) { if (argc > 0) return argv[0]; - return rb_cvar_get(CLASS_OF(self), rb_intern("@@accept_charset")); + return rb_cvar_get(CLASS_OF(self), id_accept_charset); } /* @@ -402,6 +403,13 @@ cgiesc_unescape(int argc, VALUE *argv, VALUE self) void Init_escape(void) +{ + id_accept_charset = rb_intern_const("@@accept_charset"); + InitVM(escape); +} + +void +InitVM_escape(void) { rb_cCGI = rb_define_class("CGI", rb_cObject); rb_mEscape = rb_define_module_under(rb_cCGI, "Escape");