[PATCH] cpio: use freopen instead of explicit assignment to stdout

Aaron Carroll xaaronc at gmail.com
Sun Dec 27 05:01:11 UTC 2009


stdout isn't required to be an lvalue, so cpio won't compile
on some implementations.

Signed-off-by: Aaron Carroll <aaronc at cse.unsw.edu.au>
---
 archival/cpio.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/archival/cpio.c b/archival/cpio.c
index 41aeef1..e712173 100644
--- a/archival/cpio.c
+++ b/archival/cpio.c
@@ -354,8 +354,7 @@ int cpio_main(int argc UNUSED_PARAM, char **argv)
 		if (*cpio_fmt != 'n') /* we _require_ "-H newc" */
 			bb_show_usage();
 		if (opt & CPIO_OPT_FILE) {
-			fclose(stdout);
-			stdout = fopen_for_write(cpio_filename);
+			freopen(cpio_filename, "w", stdout);
 			/* Paranoia: I don't trust libc that much */
 			xdup2(fileno(stdout), STDOUT_FILENO);
 		}
-- 
1.6.5.6


More information about the busybox mailing list