summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-24 08:39:09 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-24 08:39:09 +0000
commit09c7eba7b1293ec187e4acd12d11887540df41a7 (patch)
treec61d7bcc69a824833c86c62fbf5f8f4a4ac8f7ae /io.c
parentd7bf4546664feb3f8b4b07817978e389e9f2b381 (diff)
* include/ruby/encoding.h (rb_str_transcode): make 3rd argument
rb_econv_option_t*. * transcode.c (transcode_loop): take rb_econv_option_t* as a argument. (str_transcode0): ditto. (str_transcode): make rb_econv_option_t and call str_transcode0 with it. (rb_str_transcode): take rb_econv_option_t*. * io.c (io_fwrite): follow the rb_str_transcode change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/io.c b/io.c
index 380c0f3116..ea1528c509 100644
--- a/io.c
+++ b/io.c
@@ -761,12 +761,13 @@ io_fwrite(VALUE str, rb_io_t *fptr)
}
if (!NIL_P(common_encoding)) {
- int ecflags = 0;
+ rb_econv_option_t ecopts;
+ ecopts.flags = 0;
if (fptr->mode & FMODE_INVALID_MASK)
- ecflags |= (fptr->mode / (FMODE_INVALID_MASK/ECONV_INVALID_MASK)) & ECONV_INVALID_MASK;
+ ecopts.flags |= (fptr->mode / (FMODE_INVALID_MASK/ECONV_INVALID_MASK)) & ECONV_INVALID_MASK;
if (fptr->mode & FMODE_UNDEF_MASK)
- ecflags |= (fptr->mode / (FMODE_UNDEF_MASK/ECONV_UNDEF_MASK)) & ECONV_UNDEF_MASK;
- str = rb_str_transcode(str, common_encoding, ecflags);
+ ecopts.flags |= (fptr->mode / (FMODE_UNDEF_MASK/ECONV_UNDEF_MASK)) & ECONV_UNDEF_MASK;
+ str = rb_str_transcode(str, common_encoding, &ecopts);
}
if (fptr->writeconv) {