1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* transcode.c (rb_econv_binmode): newline decorators are

exclusive.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2011-09-05 09:10:58 +00:00
parent 179cf473c2
commit bc17dba00f
2 changed files with 18 additions and 11 deletions

View file

@ -1,3 +1,8 @@
Mon Sep 5 18:10:56 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* transcode.c (rb_econv_binmode): newline decorators are
exclusive.
Mon Sep 5 15:03:37 2011 NARUSE, Yui <naruse@ruby-lang.org>
* test/rubygems/test_gem_security.rb

View file

@ -1935,20 +1935,22 @@ rb_econv_binmode(rb_econv_t *ec)
int n, i, j;
transcoder_entry_t *entry;
int num_trans;
const char *dname = 0;
n = 0;
if (ec->flags & ECONV_UNIVERSAL_NEWLINE_DECORATOR) {
entry = get_transcoder_entry("", "universal_newline");
if (entry->transcoder)
trs[n++] = entry->transcoder;
switch (ec->flags & ECONV_NEWLINE_DECORATOR_MASK) {
case ECONV_UNIVERSAL_NEWLINE_DECORATOR:
dname = "universal_newline";
break;
case ECONV_CRLF_NEWLINE_DECORATOR:
dname = "crlf_newline";
break;
case ECONV_CR_NEWLINE_DECORATOR:
dname = "cr_newline";
break;
}
if (ec->flags & ECONV_CRLF_NEWLINE_DECORATOR) {
entry = get_transcoder_entry("", "crlf_newline");
if (entry->transcoder)
trs[n++] = entry->transcoder;
}
if (ec->flags & ECONV_CR_NEWLINE_DECORATOR) {
entry = get_transcoder_entry("", "cr_newline");
if (dname) {
entry = get_transcoder_entry("", dname);
if (entry->transcoder)
trs[n++] = entry->transcoder;
}