From f46f3503fca50bfb397ed32d805158099a416f64 Mon Sep 17 00:00:00 2001 From: Ron Yorston <rmy@pobox.com> Date: Thu, 22 Feb 2018 12:18:39 +0000 Subject: ash: tidy up /dev/null redirection Remove some duplicated code and raise an error for unsupported devices. --- shell/ash.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'shell') diff --git a/shell/ash.c b/shell/ash.c index 59c1d2272..4c9c76b8c 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -5701,22 +5701,17 @@ openredirect(union node *redir) /* Support for /dev/null */ switch (redir->nfile.type) { case NFROM: - if (!strcmp(fname, "/dev/null")) - return open("nul",O_RDWR); - if (!strncmp(fname, "/dev/", 5)) { - ash_msg("Unhandled device %s\n", fname); - return -1; - } - break; - case NFROMTO: case NTO: +#if BASH_REDIR_OUTPUT + case NTO2: +#endif case NCLOBBER: case NAPPEND: - if (!strcmp(fname, "/dev/null")) - return open("nul",O_RDWR); if (!strncmp(fname, "/dev/", 5)) { - ash_msg("Unhandled device %s\n", fname); + if (!strcmp(fname+5, "null")) + return open(fname,O_RDWR); + ash_msg_and_raise_error("Unhandled device %s\n", fname); return -1; } break; -- cgit v1.2.3-55-g6feb