diff options
Diffstat (limited to 'shell/ash_mingw.c')
-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 | ||