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

ruby-changes:9027

From: naruse <ko1@a...>
Date: Sat, 6 Dec 2008 14:37:38 +0900 (JST)
Subject: [ruby-changes:9027] Ruby:r20563 (trunk): * pack.c (pack_pack): set US-ASCII and CODERANGE_7BIT

naruse	2008-12-06 14:37:20 +0900 (Sat, 06 Dec 2008)

  New Revision: 20563

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

  Log:
    * pack.c (pack_pack): set US-ASCII and CODERANGE_7BIT
      when quoted-printable ('M') and base64 ('m').
      [ruby-dev:37284]
    * pack.c (pack_unpack): ditto.

  Modified files:
    trunk/ChangeLog
    trunk/pack.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 20562)
+++ ChangeLog	(revision 20563)
@@ -1,3 +1,11 @@
+Sat Dec  6 14:35:06 2008  NARUSE, Yui  <naruse@r...>
+
+	* pack.c (pack_pack): set US-ASCII and CODERANGE_7BIT
+	  when quoted-printable ('M') and base64 ('m').
+	  [ruby-dev:37284]
+
+	* pack.c (pack_unpack): ditto.
+
 Fri Dec  5 21:45:45 2008  Tadayoshi Funaba  <tadf@d...>
 
 	* rational.c (nurat_{to_s,inspect}): performance improvement.
Index: pack.c
===================================================================
--- pack.c	(revision 20562)
+++ pack.c	(revision 20563)
@@ -921,6 +921,7 @@
 		plen -= todo;
 		ptr += todo;
 	    }
+	    ENCODING_CODERANGE_SET(res, rb_usascii_encindex(), ENC_CODERANGE_7BIT);
 	    break;
 
 	  case 'M':		/* quoted-printable encoded string */
@@ -928,6 +929,7 @@
 	    if (len <= 1)
 		len = 72;
 	    qpencode(res, from, len);
+	    ENCODING_CODERANGE_SET(res, rb_usascii_encindex(), ENC_CODERANGE_7BIT);
 	    break;
 
 	  case 'P':		/* pointer to packed byte string */
@@ -1886,6 +1888,7 @@
 		    }
 		}
 		rb_str_set_len(buf, ptr - RSTRING_PTR(buf));
+		ENCODING_CODERANGE_SET(buf, rb_usascii_encindex(), ENC_CODERANGE_7BIT);
 		UNPACK_PUSH(buf);
 	    }
 	    break;
@@ -1914,6 +1917,7 @@
 		    s++;
 		}
 		rb_str_set_len(buf, ptr - RSTRING_PTR(buf));
+		ENCODING_CODERANGE_SET(buf, rb_usascii_encindex(), ENC_CODERANGE_7BIT);
 		UNPACK_PUSH(buf);
 	    }
 	    break;

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

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