mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* io.c (make_writeconv): copy invalid/undef flags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
446a67c08e
commit
3c66a5b25e
2 changed files with 12 additions and 9 deletions
|
@ -1,3 +1,7 @@
|
|||
Tue Aug 26 03:06:48 2008 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* io.c (make_writeconv): copy invalid/undef flags.
|
||||
|
||||
Tue Aug 26 02:47:08 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
|
||||
|
||||
* common.mk (dist): tool/make-snapshot is executable.
|
||||
|
|
17
io.c
17
io.c
|
@ -696,21 +696,24 @@ make_writeconv(rb_io_t *fptr)
|
|||
|
||||
fptr->writeconv_initialized = 1;
|
||||
|
||||
rb_econv_opts(Qnil, &fptr->writeconv_pre_opts);
|
||||
|
||||
/* ECONV_INVALID_XXX and ECONV_UNDEF_XXX should be set both.
|
||||
* But ECONV_CRLF_NEWLINE_ENCODER should be set only for the first. */
|
||||
fptr->writeconv_pre_opts = fptr->encs.opts;
|
||||
ecopts = fptr->encs.opts;
|
||||
|
||||
#ifdef TEXTMODE_NEWLINE_ENCODER
|
||||
if (NEED_NEWLINE_ENCODER(fptr))
|
||||
ecopts.flags |= TEXTMODE_NEWLINE_ENCODER;
|
||||
|
||||
if (!fptr->encs.enc) {
|
||||
if (NEED_NEWLINE_ENCODER(fptr))
|
||||
ecopts.flags |= TEXTMODE_NEWLINE_ENCODER;
|
||||
fptr->writeconv = rb_econv_open("", "", &ecopts);
|
||||
if (!fptr->writeconv)
|
||||
rb_exc_raise(rb_econv_open_exc("", "", &ecopts));
|
||||
fptr->writeconv_stateless = Qnil;
|
||||
return;
|
||||
}
|
||||
|
||||
if (NEED_NEWLINE_ENCODER(fptr))
|
||||
fptr->writeconv_pre_opts.flags |= TEXTMODE_NEWLINE_ENCODER;
|
||||
#endif
|
||||
|
||||
enc = fptr->encs.enc2 ? fptr->encs.enc2 : fptr->encs.enc;
|
||||
|
@ -726,10 +729,6 @@ make_writeconv(rb_io_t *fptr)
|
|||
denc = NULL;
|
||||
fptr->writeconv_stateless = Qnil;
|
||||
fptr->writeconv = NULL;
|
||||
#ifdef TEXTMODE_NEWLINE_ENCODER
|
||||
if (NEED_NEWLINE_ENCODER(fptr))
|
||||
fptr->writeconv_pre_opts.flags |= TEXTMODE_NEWLINE_ENCODER;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue