diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2009-04-23 00:31:07 +1000 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2009-04-23 04:44:47 +1000 |
commit | ba7cf21b047b493600e41c885c87d176b1af2ef5 (patch) | |
tree | c9732aa98bfcd00215fa3795eaea8ee553534202 /shell/ash_mingw.c | |
parent | 51c840935d442d0fc2aaddb956a010af6841ebb1 (diff) | |
download | busybox-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.c | 11 |
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 | |||
808 | static void | ||
809 | evalsubshell_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 */ |
808 | struct forkpoint forkpoints[] = { | 818 | struct forkpoint forkpoints[] = { |
809 | { "evalbackcmd", evalbackcmd_fp }, | 819 | { "evalbackcmd", evalbackcmd_fp }, |
820 | { "evalsubshell", evalsubshell_fp }, | ||
810 | { NULL, NULL }, | 821 | { NULL, NULL }, |
811 | }; | 822 | }; |
812 | 823 | ||