summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 03:18:37 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-21 03:18:37 +0000
commit2b627148661701da59abf66ccd4b7125386a3b30 (patch)
treeb25599ee18f920f7f6af52b92eb3d0118ebe7093 /string.c
parentf2515d9938213ec99362c9f0e7d7fa6e6afc04dc (diff)
* 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
Diffstat (limited to 'string.c')
-rw-r--r--string.c9
1 files changed, 9 insertions, 0 deletions
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");