Exemple #1
0
/* :nodoc: */
static VALUE
cgiesc_unescape(VALUE self, VALUE str, VALUE enc)
{
    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
	return optimized_unescape(str, enc);
    }
    else {
	return rb_call_super(1, &str);
    }
}
Exemple #2
0
/*
 *  call-seq:
 *     CGI.unescape(string, encoding=@@accept_charset) -> string
 *
 *  Returns URL-unescaped string.
 *
 */
static VALUE
cgiesc_unescape(int argc, VALUE *argv, VALUE self)
{
    VALUE str = (rb_check_arity(argc, 1, 2), argv[0]);

    StringValue(str);

    if (rb_enc_str_asciicompat_p(str)) {
	VALUE enc = accept_charset(argc-1, argv+1, self);
	return optimized_unescape(str, enc);
    }
    else {
	return rb_call_super(argc, argv);
    }
}