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

Nahor nahor.j+gmane at gmail.com
Thu Jun 4 13:23:22 EDT 2009


The test to return SUCCESS or FAILURE at the end of nandwrite is done 
only when reading from a file. When reading from the standard input, 
nandwrite always returns success except for some cases at the begining.

This patches aims at fixing that by returning an error when jumping to 
the closeall label.

Regards,
	Nahor


--- a/nandwrite.c       2009-06-01 18:03:55.000000000 -0700
+++ b/nandwrite.c       2009-06-03 17:25:19.000000000 -0700
@@ -261,6 +261,7 @@
         int oobinfochanged = 0;
         struct nand_oobinfo old_oobinfo;
         int readcnt = 0;
+       bool failed = true;

         process_options(argc, argv);

@@ -623,6 +624,8 @@
                 mtdoffset += meminfo.writesize;
         }

+       failed = false;
+
  closeall:
         close(ifd);

@@ -637,7 +640,7 @@

         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);
         }




More information about the linux-mtd mailing list