Patchwork [PATH,MTD-UTILS] Return error if failure when reading from standard input

login
register
mail settings
Submitter Jehan Bing
Date June 8, 2009, 4:32 p.m.
Message ID <4A2D3D26.4090703@orb.com>
Download mbox | patch
Permalink /patch/28238/
State Accepted
Commit 59c537d0fd1af368eaeed5ec27e2336077c18691
Headers show

Comments

Jehan Bing - June 8, 2009, 4:32 p.m.
Fix nandwrite to return EXIT_FAILURE in case of error when using the
standard input instead of a file for input.


Signed-off-by: Jehan Bing <jehan@orb.com>
Artem Bityutskiy - June 9, 2009, 12:39 p.m.
On Mon, 2009-06-08 at 09:32 -0700, Jehan Bing wrote:
> Fix nandwrite to return EXIT_FAILURE in case of error when using the
> standard input instead of a file for input.

Pushed, thanks.

Patch

diff -up mtd-utils.loop/nandwrite.c mtd-utils.failed_patch/nandwrite.c
--- mtd-utils.loop/nandwrite.c	2009-06-05 18:32:56.000000000 -0700
+++ mtd-utils.failed_patch/nandwrite.c	2009-06-03 17:25:19.000000000 -0700
@@ -261,6 +261,7 @@  int main(int argc, char * const argv[])
 	int oobinfochanged = 0;
 	struct nand_oobinfo old_oobinfo;
 	int readcnt = 0;
+	bool failed = true;
 
 	process_options(argc, argv);
 
@@ -623,6 +624,8 @@  int main(int argc, char * const argv[])
 		mtdoffset += meminfo.writesize;
 	}
 
+	failed = false;
+
 closeall:
 	close(ifd);
 
@@ -637,7 +640,7 @@  restoreoob:
 
 	close(fd);
 
-	if ((ifd != STDIN_FILENO) && (imglen > 0)) {
+	if (failed || ((ifd != STDIN_FILENO) && (imglen > 0))) {
 		perror ("Data was only partially written due to error\n");
 		exit (EXIT_FAILURE);
 	}