diff options
Diffstat (limited to 'src/cmd/rc/code.c')
-rw-r--r-- | src/cmd/rc/code.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cmd/rc/code.c b/src/cmd/rc/code.c index 748c964..47266e4 100644 --- a/src/cmd/rc/code.c +++ b/src/cmd/rc/code.c @@ -349,6 +349,19 @@ walk(Tree *node) case Tpipefd: #endif + case Tdup: + if(node->redir.type == Rdupfd){ + emitf(Xdup); + emiti(node->redir.fd[0]); + emiti(node->redir.fd[1]); + }else{ + emitf(Xclose); + emiti(node->redir.fd[0]); + } + walk(node->child[1]); + emitf(Xpopredir); + break; + case Tredir: emitf(Xmark); walk(node->child[0]); |