aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/rc/code.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/rc/code.c')
-rw-r--r--src/cmd/rc/code.c13
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]);