diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-26 09:35:34 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-26 09:35:34 +0000 |
commit | ff8681ba574081fa547f0d20df98c637d4c2e378 (patch) | |
tree | 09d5ea9d6d998b1d1460eeb525c5a440bc66f6e6 /io.c | |
parent | a20f1713c3a86422c68ce1a9d93c32d5737328db (diff) |
* io.c (io_reopen): keeps pathv for prep_stdio. [ruby-dev:38131]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -5368,8 +5368,8 @@ io_reopen(VALUE io, VALUE nfile) fptr->mode = orig->mode | (fptr->mode & FMODE_PREP); fptr->pid = orig->pid; fptr->lineno = orig->lineno; - if (orig->pathv) fptr->pathv = orig->pathv; - else fptr->pathv = Qnil; + if (RTEST(orig->pathv)) fptr->pathv = orig->pathv; + else if (!IS_PREP_STDIO(fptr)) fptr->pathv = Qnil; fptr->finalize = orig->finalize; #if defined (__CYGWIN__) || !defined(HAVE_FORK) if (fptr->finalize == pipe_finalize) |