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

login
register
mail settings
Submitter Nahor
Date June 4, 2009, 5:23 p.m.
Message ID <h08vuc$uut$1@ger.gmane.org>
Download mbox | patch
Permalink /patch/28111/
State New, archived
Headers show

Comments

Nahor - June 4, 2009, 5:23 p.m.
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
Artem Bityutskiy - June 8, 2009, 6:16 a.m.
On Thu, 2009-06-04 at 10:23 -0700, Nahor wrote:
> 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.

Looks ok to me. Please, send an applicable patch.

Patch

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