summaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-30 17:55:25 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-09-30 17:55:25 +0000
commitb25eebdb394702a87df0c774b1692288e18b5b64 (patch)
tree3a19901ae6cd8850fd694985daa1d8d3761427e1 /io.c
parent66880e05aab3036164e8084d294ae2683b4c9e1d (diff)
downloadruby-b25eebdb394702a87df0c774b1692288e18b5b64.tar.gz
ruby-b25eebdb394702a87df0c774b1692288e18b5b64.tar.xz
ruby-b25eebdb394702a87df0c774b1692288e18b5b64.zip
* io.c (rb_io_extract_modeenc): should honor value of the
textmode: and binmode: options. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@19650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/io.c b/io.c
index 774f3e7e1..7985aebd7 100644
--- a/io.c
+++ b/io.c
@@ -3922,10 +3922,10 @@ rb_io_extract_modeenc(VALUE *vmode_p, VALUE *vperm_p, VALUE opthash,
else {
VALUE v;
v = rb_hash_aref(opthash, sym_textmode);
- if (!NIL_P(v))
+ if (!NIL_P(v) && RTEST(v))
fmode |= FMODE_TEXTMODE;
v = rb_hash_aref(opthash, sym_binmode);
- if (!NIL_P(v)) {
+ if (!NIL_P(v) && RTEST(v)) {
fmode |= FMODE_BINMODE;
#ifdef O_BINARY
oflags |= O_BINARY;