[前][次][番号順一覧][スレッド一覧]

ruby-changes:3423

From: ko1@a...
Date: 7 Jan 2008 02:38:06 +0900
Subject: [ruby-changes:3423] akr - Ruby:r14916 (trunk): * string.c (coderange_scan): avoid rb_enc_to_index.

akr	2008-01-07 02:37:54 +0900 (Mon, 07 Jan 2008)

  New Revision: 14916

  Modified files:
    trunk/ChangeLog
    trunk/string.c

  Log:
    * string.c (coderange_scan): avoid rb_enc_to_index.
      (rb_enc_str_buf_cat): ditto.
      (str_cat_char): use rb_enc_str_buf_cat.
      (rb_str_inspect): ditto.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=14916&r2=14915&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14916&r2=14915&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14915)
+++ ChangeLog	(revision 14916)
@@ -1,3 +1,10 @@
+Mon Jan  7 02:14:07 2008  Tanaka Akira  <akr@f...>
+
+	* string.c (coderange_scan): avoid rb_enc_to_index.
+	  (rb_enc_str_buf_cat): ditto.
+	  (str_cat_char): use rb_enc_str_buf_cat.
+	  (rb_str_inspect): ditto.
+
 Mon Jan  7 01:36:49 2008  Tanaka Akira  <akr@f...>
 
 	* string.c (coderange_scan): optimize ASCII-8BIT string.
Index: string.c
===================================================================
--- string.c	(revision 14915)
+++ string.c	(revision 14916)
@@ -119,8 +119,8 @@
     const char *e = p + len;
     int cr;
 
-    if (rb_enc_to_index(enc) == 0) {
-        /* enc is ASCII-8BIT.  ASCII-8BIT string never be broken. */
+    if (enc == rb_ascii8bit_encoding()) {
+        /* ASCII-8BIT string never be broken. */
         while (p < e) {
             if (!ISASCII((unsigned char)*p)) {
                 return ENC_CODERANGE_VALID;
@@ -1063,8 +1063,8 @@
     rb_encoding *str_enc = rb_enc_get(str);
     rb_encoding *res_enc;
     int str_cr, ptr_cr, res_cr;
-    int str_a8 = rb_enc_to_index(str_enc) == 0;
-    int ptr_a8 = rb_enc_to_index(ptr_enc) == 0;
+    int str_a8 = ENCODING_GET(str) == 0;
+    int ptr_a8 = ptr_enc == rb_ascii8bit_encoding();
 
     str_cr = ENC_CODERANGE(str);
 
@@ -3108,7 +3108,7 @@
     int n = rb_enc_codelen(c, enc);
 
     rb_enc_mbcput(c, s, enc);
-    rb_str_buf_cat(str, s, n);
+    rb_enc_str_buf_cat(str, s, n, enc);
 }
 
 static void
@@ -3187,7 +3187,7 @@
 	    prefix_escape(result, 'e', enc);
 	}
 	else if (rb_enc_isprint(c, enc)) {
-	    rb_str_buf_cat(result, p-n, n);
+	    rb_enc_str_buf_cat(result, p-n, n, enc);
 	}
 	else {
 	    char buf[5];

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]