aboutsummaryrefslogtreecommitdiff
path: root/shell/ash_mingw.c
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2009-04-23 00:31:07 +1000
committerNguyễn Thái Ngọc Duy <pclouds@gmail.com>2009-04-23 04:44:47 +1000
commitba7cf21b047b493600e41c885c87d176b1af2ef5 (patch)
treec9732aa98bfcd00215fa3795eaea8ee553534202 /shell/ash_mingw.c
parent51c840935d442d0fc2aaddb956a010af6841ebb1 (diff)
downloadbusybox-w32-ba7cf21b047b493600e41c885c87d176b1af2ef5.tar.gz
busybox-w32-ba7cf21b047b493600e41c885c87d176b1af2ef5.tar.bz2
busybox-w32-ba7cf21b047b493600e41c885c87d176b1af2ef5.zip
shell/ash: reimplement evalsubshell()
Diffstat (limited to '')
-rw-r--r--shell/ash_mingw.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/shell/ash_mingw.c b/shell/ash_mingw.c
index 7cf9c8213..d343b2885 100644
--- a/shell/ash_mingw.c
+++ b/shell/ash_mingw.c
@@ -804,9 +804,20 @@ evalbackcmd_fp(union node *n, int flags)
804 eflag = 0; 804 eflag = 0;
805 evaltree(n, EV_EXIT); /* actually evaltreenr... */ 805 evaltree(n, EV_EXIT); /* actually evaltreenr... */
806} 806}
807
808static void
809evalsubshell_fp(union node *n, int flags)
810{
811 trace_printf("ash: subshell: %s\n",__PRETTY_FUNCTION__);
812 INT_ON;
813 expredir(n->nredir.redirect);
814 redirect(n->nredir.redirect, 0);
815 evaltreenr(n->nredir.n, flags);
816}
807/* entry names should not be too long */ 817/* entry names should not be too long */
808struct forkpoint forkpoints[] = { 818struct forkpoint forkpoints[] = {
809 { "evalbackcmd", evalbackcmd_fp }, 819 { "evalbackcmd", evalbackcmd_fp },
820 { "evalsubshell", evalsubshell_fp },
810 { NULL, NULL }, 821 { NULL, NULL },
811}; 822};
812 823