summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-17 08:08:23 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-17 08:08:23 +0000
commitddf65990aa71b8fd36c48c593ca53dadfb6c60d2 (patch)
tree127a5f32859affe2489a65d7603078a30529ee6d
parentebf6015db96b2f5263ef58c5bd3b5a84748a1a7e (diff)
downloadruby-ddf65990aa71b8fd36c48c593ca53dadfb6c60d2.tar.gz
ruby-ddf65990aa71b8fd36c48c593ca53dadfb6c60d2.tar.xz
ruby-ddf65990aa71b8fd36c48c593ca53dadfb6c60d2.zip
* string.c (rb_enc_str_asciionly_p): use rb_enc_str_coderange.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--string.c13
2 files changed, 7 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 3623b8a8e..72e205369 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Dec 17 17:07:53 2007 Tanaka Akira <akr@fsij.org>
+
+ * string.c (rb_enc_str_asciionly_p): use rb_enc_str_coderange.
+
Mon Dec 17 16:39:25 2007 Tanaka Akira <akr@fsij.org>
* string.c (rb_enc_str_coderange): set ENC_CODERANGE_BROKEN using
diff --git a/string.c b/string.c
index 85ea099ea..8cc6954c0 100644
--- a/string.c
+++ b/string.c
@@ -133,16 +133,10 @@ int rb_enc_str_asciionly_p(VALUE str)
{
rb_encoding *enc = rb_enc_get(str);
- if (rb_enc_asciicompat(enc) &&
- rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT) {
- char *ptr = RSTRING_PTR(str);
- long len = RSTRING_LEN(str);
- long i;
- for (i = 0; i < len; i++)
- if (ptr[i] & 0x80)
- return Qfalse;
+ if (!rb_enc_asciicompat(enc))
+ return Qfalse;
+ else if (rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT)
return Qtrue;
- }
return Qfalse;
}
@@ -1410,7 +1404,6 @@ static VALUE
rb_str_casecmp(VALUE str1, VALUE str2)
{
long len;
- int retval;
rb_encoding *enc;
char *p1, *p1end, *p2, *p2end;