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

ruby-changes:14553

From: akr <ko1@a...>
Date: Sun, 24 Jan 2010 14:00:08 +0900 (JST)
Subject: [ruby-changes:14553] Ruby:r26392 (trunk): * string.c (rb_enc_strlen_cr): increment by rb_enc_mbminlen(enc) for

akr	2010-01-24 13:59:31 +0900 (Sun, 24 Jan 2010)

  New Revision: 26392

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26392

  Log:
    * string.c (rb_enc_strlen_cr): increment by rb_enc_mbminlen(enc) for
      broken byte sequence.  [ruby-core:27748]

  Modified files:
    trunk/ChangeLog
    trunk/string.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 26391)
+++ ChangeLog	(revision 26392)
@@ -1,3 +1,8 @@
+Sun Jan 24 13:55:54 2010  Tanaka Akira  <akr@f...>
+
+	* string.c (rb_enc_strlen_cr): increment by rb_enc_mbminlen(enc) for
+	  broken byte sequence.  [ruby-core:27748]
+
 Sun Jan 24 05:18:34 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* thread.c (thread_start_func_2): unlock all locking mutexes
Index: string.c
===================================================================
--- string.c	(revision 26391)
+++ string.c	(revision 26392)
@@ -1008,7 +1008,10 @@
 	}
 	else {
 	    *cr = ENC_CODERANGE_BROKEN;
-	    p++;
+            if (p + rb_enc_mbminlen(enc) <= e)
+                p += rb_enc_mbminlen(enc);
+            else
+                p = e;
 	}
     }
     if (!*cr) *cr = ENC_CODERANGE_7BIT;

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

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