diff options
author | Rob Landley <rob@landley.net> | 2015-01-03 16:25:36 -0600 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2015-01-03 16:25:36 -0600 |
commit | aad492fd87d689c443e87561c23abc2e12b785a9 (patch) | |
tree | 6b3f91834fecc081f0aaffd1e3d3a2e6d90fafcd | |
parent | 87fd25f20b86731dd01332ce828424e7047ef29d (diff) | |
download | toybox-aad492fd87d689c443e87561c23abc2e12b785a9.tar.gz |
Move fflush() checking to xexit() and have exit paths in main() call that.
-rw-r--r-- | lib/xwrap.c | 2 | ||||
-rw-r--r-- | main.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/xwrap.c b/lib/xwrap.c index d7030653..de7ae832 100644 --- a/lib/xwrap.c +++ b/lib/xwrap.c @@ -30,6 +30,8 @@ void xstrncat(char *dest, char *src, size_t size) void xexit(void) { + if (fflush(NULL) || ferror(stdout)) + if (!toys.exitval) perror_msg("write"); if (toys.rebound) longjmp(*toys.rebound, 1); else exit(toys.exitval); } @@ -136,7 +136,6 @@ void toy_exec(char *argv[]) // Run command toy_init(which, argv); if (toys.which) toys.which->toy_main(); - if (fflush(NULL) || ferror(stdout)) perror_exit("write"); xexit(); } @@ -189,8 +188,7 @@ int main(int argc, char *argv[]) // a single toybox command built standalone with no multiplexer toy_singleinit(toy_list, argv); toy_list->toy_main(); - if (fflush(NULL) || ferror(stdout)) perror_exit("write"); } - return toys.exitval; + xexit(); } |