* include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7140c8f0cd
commit
3b937bbdc4
@ -1,3 +1,7 @@
|
|||||||
|
Wed Apr 27 00:54:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* include/ruby/encoding.h (ECONV_NEWLINE_DECORATOR_MASK): add.
|
||||||
|
|
||||||
Wed Apr 27 00:51:01 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Wed Apr 27 00:51:01 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* file.c (rb_file_truncate): fix function.
|
* file.c (rb_file_truncate): fix function.
|
||||||
|
@ -303,6 +303,7 @@ void rb_econv_binmode(rb_econv_t *ec);
|
|||||||
#define ECONV_UNDEF_HEX_CHARREF 0x00000030
|
#define ECONV_UNDEF_HEX_CHARREF 0x00000030
|
||||||
|
|
||||||
#define ECONV_DECORATOR_MASK 0x0000ff00
|
#define ECONV_DECORATOR_MASK 0x0000ff00
|
||||||
|
#define ECONV_NEWLINE_DECORATOR_MASK 0x00003f00
|
||||||
|
|
||||||
#define ECONV_UNIVERSAL_NEWLINE_DECORATOR 0x00000100
|
#define ECONV_UNIVERSAL_NEWLINE_DECORATOR 0x00000100
|
||||||
#define ECONV_CRLF_NEWLINE_DECORATOR 0x00001000
|
#define ECONV_CRLF_NEWLINE_DECORATOR 0x00001000
|
||||||
|
24
transcode.c
24
transcode.c
@ -1025,13 +1025,15 @@ decorator_names(int ecflags, const char **decorators_ret)
|
|||||||
{
|
{
|
||||||
int num_decorators;
|
int num_decorators;
|
||||||
|
|
||||||
if ((ecflags & ECONV_CRLF_NEWLINE_DECORATOR) &&
|
switch (ecflags & ECONV_NEWLINE_DECORATOR_MASK) {
|
||||||
(ecflags & ECONV_CR_NEWLINE_DECORATOR))
|
case ECONV_UNIVERSAL_NEWLINE_DECORATOR:
|
||||||
return -1;
|
case ECONV_CRLF_NEWLINE_DECORATOR:
|
||||||
|
case ECONV_CR_NEWLINE_DECORATOR:
|
||||||
if ((ecflags & (ECONV_CRLF_NEWLINE_DECORATOR|ECONV_CR_NEWLINE_DECORATOR)) &&
|
case 0:
|
||||||
(ecflags & ECONV_UNIVERSAL_NEWLINE_DECORATOR))
|
break;
|
||||||
|
default:
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
if ((ecflags & ECONV_XML_TEXT_DECORATOR) &&
|
if ((ecflags & ECONV_XML_TEXT_DECORATOR) &&
|
||||||
(ecflags & ECONV_XML_ATTR_CONTENT_DECORATOR))
|
(ecflags & ECONV_XML_ATTR_CONTENT_DECORATOR))
|
||||||
@ -1965,7 +1967,7 @@ rb_econv_binmode(rb_econv_t *ec)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ec->flags &= ~(ECONV_UNIVERSAL_NEWLINE_DECORATOR|ECONV_CRLF_NEWLINE_DECORATOR|ECONV_CR_NEWLINE_DECORATOR);
|
ec->flags &= ~ECONV_NEWLINE_DECORATOR_MASK;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1987,9 +1989,7 @@ econv_description(const char *sname, const char *dname, int ecflags, VALUE mesg)
|
|||||||
has_description = 1;
|
has_description = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ecflags & (ECONV_UNIVERSAL_NEWLINE_DECORATOR|
|
if (ecflags & (ECONV_NEWLINE_DECORATOR_MASK|
|
||||||
ECONV_CRLF_NEWLINE_DECORATOR|
|
|
||||||
ECONV_CR_NEWLINE_DECORATOR|
|
|
||||||
ECONV_XML_TEXT_DECORATOR|
|
ECONV_XML_TEXT_DECORATOR|
|
||||||
ECONV_XML_ATTR_CONTENT_DECORATOR|
|
ECONV_XML_ATTR_CONTENT_DECORATOR|
|
||||||
ECONV_XML_ATTR_QUOTE_DECORATOR)) {
|
ECONV_XML_ATTR_QUOTE_DECORATOR)) {
|
||||||
@ -2647,9 +2647,7 @@ str_transcode0(int argc, VALUE *argv, VALUE *self, int ecflags, VALUE ecopts)
|
|||||||
arg2 = argc<=1 ? Qnil : argv[1];
|
arg2 = argc<=1 ? Qnil : argv[1];
|
||||||
dencidx = str_transcode_enc_args(str, &arg1, &arg2, &sname, &senc, &dname, &denc);
|
dencidx = str_transcode_enc_args(str, &arg1, &arg2, &sname, &senc, &dname, &denc);
|
||||||
|
|
||||||
if ((ecflags & (ECONV_UNIVERSAL_NEWLINE_DECORATOR|
|
if ((ecflags & (ECONV_NEWLINE_DECORATOR_MASK|
|
||||||
ECONV_CRLF_NEWLINE_DECORATOR|
|
|
||||||
ECONV_CR_NEWLINE_DECORATOR|
|
|
||||||
ECONV_XML_TEXT_DECORATOR|
|
ECONV_XML_TEXT_DECORATOR|
|
||||||
ECONV_XML_ATTR_CONTENT_DECORATOR|
|
ECONV_XML_ATTR_CONTENT_DECORATOR|
|
||||||
ECONV_XML_ATTR_QUOTE_DECORATOR)) == 0) {
|
ECONV_XML_ATTR_QUOTE_DECORATOR)) == 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user