ruby-changes:19314
From: nobu <ko1@a...>
Date: Wed, 27 Apr 2011 00:54:20 +0900 (JST)
Subject: [ruby-changes:19314] Ruby:r31354 (trunk): * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add.
nobu 2011-04-27 00:54:14 +0900 (Wed, 27 Apr 2011) New Revision: 31354 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31354 Log: * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add. Modified files: trunk/ChangeLog trunk/include/ruby/encoding.h trunk/transcode.c Index: include/ruby/encoding.h =================================================================== --- include/ruby/encoding.h (revision 31353) +++ include/ruby/encoding.h (revision 31354) @@ -303,6 +303,7 @@ #define ECONV_UNDEF_HEX_CHARREF 0x00000030 #define ECONV_DECORATOR_MASK 0x0000ff00 +#define ECONV_NEWLINE_DECORATOR_MASK 0x00003f00 #define ECONV_UNIVERSAL_NEWLINE_DECORATOR 0x00000100 #define ECONV_CRLF_NEWLINE_DECORATOR 0x00001000 Index: ChangeLog =================================================================== --- ChangeLog (revision 31353) +++ ChangeLog (revision 31354) @@ -1,3 +1,7 @@ +Wed Apr 27 00:54:12 2011 Nobuyoshi Nakada <nobu@r...> + + * include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add. + Wed Apr 27 00:51:01 2011 Nobuyoshi Nakada <nobu@r...> * file.c (rb_file_truncate): fix function. Index: transcode.c =================================================================== --- transcode.c (revision 31353) +++ transcode.c (revision 31354) @@ -1025,14 +1025,16 @@ { int num_decorators; - if ((ecflags & ECONV_CRLF_NEWLINE_DECORATOR) && - (ecflags & ECONV_CR_NEWLINE_DECORATOR)) + switch (ecflags & ECONV_NEWLINE_DECORATOR_MASK) { + case ECONV_UNIVERSAL_NEWLINE_DECORATOR: + case ECONV_CRLF_NEWLINE_DECORATOR: + case ECONV_CR_NEWLINE_DECORATOR: + case 0: + break; + default: return -1; + } - if ((ecflags & (ECONV_CRLF_NEWLINE_DECORATOR|ECONV_CR_NEWLINE_DECORATOR)) && - (ecflags & ECONV_UNIVERSAL_NEWLINE_DECORATOR)) - return -1; - if ((ecflags & ECONV_XML_TEXT_DECORATOR) && (ecflags & ECONV_XML_ATTR_CONTENT_DECORATOR)) return -1; @@ -1965,7 +1967,7 @@ } } - ec->flags &= ~(ECONV_UNIVERSAL_NEWLINE_DECORATOR|ECONV_CRLF_NEWLINE_DECORATOR|ECONV_CR_NEWLINE_DECORATOR); + ec->flags &= ~ECONV_NEWLINE_DECORATOR_MASK; } @@ -1987,9 +1989,7 @@ has_description = 1; } - if (ecflags & (ECONV_UNIVERSAL_NEWLINE_DECORATOR| - ECONV_CRLF_NEWLINE_DECORATOR| - ECONV_CR_NEWLINE_DECORATOR| + if (ecflags & (ECONV_NEWLINE_DECORATOR_MASK| ECONV_XML_TEXT_DECORATOR| ECONV_XML_ATTR_CONTENT_DECORATOR| ECONV_XML_ATTR_QUOTE_DECORATOR)) { @@ -2647,9 +2647,7 @@ arg2 = argc<=1 ? Qnil : argv[1]; dencidx = str_transcode_enc_args(str, &arg1, &arg2, &sname, &senc, &dname, &denc); - if ((ecflags & (ECONV_UNIVERSAL_NEWLINE_DECORATOR| - ECONV_CRLF_NEWLINE_DECORATOR| - ECONV_CR_NEWLINE_DECORATOR| + if ((ecflags & (ECONV_NEWLINE_DECORATOR_MASK| ECONV_XML_TEXT_DECORATOR| ECONV_XML_ATTR_CONTENT_DECORATOR| ECONV_XML_ATTR_QUOTE_DECORATOR)) == 0) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/