From 2b627148661701da59abf66ccd4b7125386a3b30 Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 21 Dec 2007 03:18:37 +0000 Subject: * string.c (rb_str_is_ascii_only_p): new method ascii_only?. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- string.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'string.c') diff --git a/string.c b/string.c index 2d25868543..6e998ee17a 100644 --- a/string.c +++ b/string.c @@ -5341,6 +5341,14 @@ rb_str_valid_encoding_p(VALUE str) return cr == ENC_CODERANGE_BROKEN ? Qfalse : Qtrue; } +static VALUE +rb_str_is_ascii_only_p(VALUE str) +{ + int cr = rb_enc_str_coderange(str); + + return cr == ENC_CODERANGE_7BIT ? Qtrue : Qfalse; +} + /********************************************************************** * Document-class: Symbol * @@ -5754,6 +5762,7 @@ Init_String(void) rb_define_method(rb_cString, "encoding", rb_obj_encoding, 0); /* in encoding.c */ rb_define_method(rb_cString, "force_encoding", rb_str_force_encoding, 1); rb_define_method(rb_cString, "valid_encoding?", rb_str_valid_encoding_p, 0); + rb_define_method(rb_cString, "ascii_only?", rb_str_is_ascii_only_p, 0); id_to_s = rb_intern("to_s"); -- cgit v1.2.3