summaryrefslogtreecommitdiffstats
path: root/bin/sh/redir.c
diff options
context:
space:
mode:
authorjilles <jilles@FreeBSD.org>2013-07-25 15:08:41 +0000
committerjilles <jilles@FreeBSD.org>2013-07-25 15:08:41 +0000
commit0ad2a46f33944b5fedbda54167af5739c8c5ed84 (patch)
tree4cdf5ff0108f4909c6111d72ffe6f925dec35704 /bin/sh/redir.c
parent34bfb313cd341ffba7e1c34cdc5f2aabc7cd8ec5 (diff)
downloadFreeBSD-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.c9
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
OpenPOWER on IntegriCloud