diff options
author | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2009-04-23 00:17:20 +1000 |
---|---|---|
committer | Nguyễn Thái Ngọc Duy <pclouds@gmail.com> | 2009-04-23 04:44:43 +1000 |
commit | d82d217c11cd2827d707e6a08a4df35b0acfe3ad (patch) | |
tree | 39509c2bd786b35976972b2351505995716dd8fd /shell | |
parent | e317e86db3bd3c7eb13564c889cadb7db225f220 (diff) | |
download | busybox-w32-d82d217c11cd2827d707e6a08a4df35b0acfe3ad.tar.gz busybox-w32-d82d217c11cd2827d707e6a08a4df35b0acfe3ad.tar.bz2 busybox-w32-d82d217c11cd2827d707e6a08a4df35b0acfe3ad.zip |
shell/ash: suport /dev/null in redirection
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c index e7f4606d4..316e1f4a9 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -4755,6 +4755,30 @@ openredirect(union node *redir) | |||
4755 | char *fname; | 4755 | char *fname; |
4756 | int f; | 4756 | int f; |
4757 | 4757 | ||
4758 | #ifdef __MINGW32__ | ||
4759 | switch (redir->nfile.type) { | ||
4760 | case NFROM: | ||
4761 | if (!strcmp(redir->nfile.expfname, "/dev/null")) | ||
4762 | return open("nul",O_RDWR); | ||
4763 | if (!strncmp(redir->nfile.expfname, "/dev/", 5)) { | ||
4764 | ash_msg("Unhandled device %s\n", redir->nfile.expfname); | ||
4765 | return -1; | ||
4766 | } | ||
4767 | break; | ||
4768 | |||
4769 | case NFROMTO: | ||
4770 | case NTO: | ||
4771 | case NCLOBBER: | ||
4772 | case NAPPEND: | ||
4773 | if (!strcmp(redir->nfile.expfname, "/dev/null")) | ||
4774 | return open("nul",O_RDWR); | ||
4775 | if (!strncmp(redir->nfile.expfname, "/dev/", 5)) { | ||
4776 | ash_msg("Unhandled device %s\n", redir->nfile.expfname); | ||
4777 | return -1; | ||
4778 | } | ||
4779 | break; | ||
4780 | } | ||
4781 | #endif | ||
4758 | switch (redir->nfile.type) { | 4782 | switch (redir->nfile.type) { |
4759 | case NFROM: | 4783 | case NFROM: |
4760 | fname = redir->nfile.expfname; | 4784 | fname = redir->nfile.expfname; |