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

ruby-changes:4159

From: ko1@a...
Date: Sat, 1 Mar 2008 10:02:45 +0900 (JST)
Subject: [ruby-changes:4159] matz - Ruby:r15649 (trunk): * string.c (rb_str_coderange_scan_restartable): should not return

matz	2008-03-01 10:02:30 +0900 (Sat, 01 Mar 2008)

  New Revision: 15649

  Modified files:
    trunk/ChangeLog
    trunk/string.c

  Log:
    * string.c (rb_str_coderange_scan_restartable): should not return
      offset in the middle of a character.
    
    * string.c (rb_str_coderange_scan_restartable): should not return
      invalid cr value.

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

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15648)
+++ ChangeLog	(revision 15649)
@@ -1,3 +1,11 @@
+Sat Mar  1 10:01:30 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* string.c (rb_str_coderange_scan_restartable): should not return
+	  offset in the middle of a character.
+
+	* string.c (rb_str_coderange_scan_restartable): should not return
+	  invalid cr value.
+
 Sat Mar  1 09:36:08 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* sprintf.c (rb_str_format): "%#.0o" should keep prefix where
Index: string.c
===================================================================
--- string.c	(revision 15648)
+++ string.c	(revision 15649)
@@ -224,8 +224,8 @@
 	while (p < e) {
 	    int ret = rb_enc_precise_mbclen(p, e, enc);
 	    if (!MBCLEN_CHARFOUND_P(ret)) {
-		*cr = MBCLEN_INVALID_P(ret) ? ENC_CODERANGE_BROKEN: ret;
-		return e - s;
+		*cr = MBCLEN_INVALID_P(ret) ? ENC_CODERANGE_BROKEN: ENC_CODERANGE_UNKNOWN;
+		return p - s;
 	    }
 	    p += MBCLEN_CHARFOUND_LEN(ret);
 	    if (p < e) {
@@ -243,7 +243,7 @@
 	while (p < e) {
 	    int ret = rb_enc_precise_mbclen(p, e, enc);
 	    if (!MBCLEN_CHARFOUND_P(ret)) {
-		*cr = MBCLEN_INVALID_P(ret) ? ENC_CODERANGE_BROKEN: ret;
+		*cr = MBCLEN_INVALID_P(ret) ? ENC_CODERANGE_BROKEN: ENC_CODERANGE_UNKNOWN;
 		return p - s;
 	    }
 	    p += MBCLEN_CHARFOUND_LEN(ret);

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

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