diff options
author | jilles <jilles@FreeBSD.org> | 2013-07-25 15:08:41 +0000 |
---|---|---|
committer | jilles <jilles@FreeBSD.org> | 2013-07-25 15:08:41 +0000 |
commit | 0ad2a46f33944b5fedbda54167af5739c8c5ed84 (patch) | |
tree | 4cdf5ff0108f4909c6111d72ffe6f925dec35704 /bin/sh/redir.c | |
parent | 34bfb313cd341ffba7e1c34cdc5f2aabc7cd8ec5 (diff) | |
download | FreeBSD-src-0ad2a46f33944b5fedbda54167af5739c8c5ed84.zip FreeBSD-src-0ad2a46f33944b5fedbda54167af5739c8c5ed84.tar.gz |
sh: Remove mkinit.
Replace the RESET blocks with regular functions and a reset() function that
calls them all.
This code generation tool is unusual and does not appear to provide much
benefit. I do not think isolating the knowledge about which modules need to
be reset is worth an almost 500-line build tool and wider scope for
variables used by the reset functions.
Also, relying on reset functions is often wrong: the cleanup should be done
in exception handlers so that no stale state remains after 'command eval'
and the like.
Diffstat (limited to 'bin/sh/redir.c')
-rw-r--r-- | bin/sh/redir.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/bin/sh/redir.c b/bin/sh/redir.c index 855f317..d6d9fb1 100644 --- a/bin/sh/redir.c +++ b/bin/sh/redir.c @@ -324,16 +324,13 @@ popredir(void) * Undo all redirections. Called on error or interrupt. */ -#ifdef mkinit - -INCLUDE "redir.h" - -RESET { +void +resetredir(void) +{ while (redirlist) popredir(); } -#endif /* Return true if fd 0 has already been redirected at least once. */ int |