Return error if failure when reading from standard input
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
nandwrite.c 2009-06-03 17:25:19.000000000 -0700 renamed from nandwrite.c 2009-06-01 18:03:55.000000000 -0700 +4 -1
@@ -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); }
Quoted 6 lines · Nahor
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.
Signature · 2 lines
Best regards, Artem Bityutskiy (Битюцкий Артём)
Fix nandwrite to return EXIT_FAILURE in case of error when using the standard input instead of a file for input.
nandwrite.c +4 -1
@@ -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 ); }
Quoted 2 lines · Jehan Bing
Fix nandwrite to return
EXIT_FAILUREin case of error when using the standard input instead of a file for input.
Pushed, thanks.
Signature · 2 lines
Best regards, Artem Bityutskiy (Битюцкий Артём)