* [PATCH 2/5 v3] [MTD-UTILS] Unified reading from standard input and from file
@ 2009-08-06 0:40 Jehan Bing
0 siblings, 0 replies; only message in thread
From: Jehan Bing @ 2009-08-06 0:40 UTC (permalink / raw)
To: linux-mtd
Use the same code structure when reading the OOB than when reading the
regular data.
Signed-off-by: Jehan Bing <jehan@orb.com>
--- a/nandwrite.c 2009-06-09 13:20:56.000000000 -0700
+++ b/nandwrite.c 2009-06-09 13:20:44.000000000 -0700
@@ -520,17 +520,32 @@ int main(int argc, char * const argv[])
}
if (writeoob) {
- int tinycnt = 0;
+ {
+ int readlen = meminfo.oobsize;
- while(tinycnt < meminfo.oobsize) {
- cnt = read(ifd, oobreadbuf + tinycnt, meminfo.oobsize - tinycnt);
- if (cnt == 0) { // EOF
- break;
- } else if (cnt < 0) {
- perror ("File I/O error on input file");
+ int tinycnt = 0;
+
+ while (tinycnt < readlen) {
+ cnt = read(ifd, oobreadbuf + tinycnt, readlen - tinycnt);
+ if (cnt == 0) { // EOF
+ break;
+ } else if (cnt < 0) {
+ perror ("File I/O error on input");
+ goto closeall;
+ }
+ tinycnt += cnt;
+ }
+
+ if (tinycnt < readlen) {
+ fprintf(stderr, "Unexpected EOF. Expecting at least "
+ "%d more bytes for OOB\n", readlen - tinycnt);
goto closeall;
}
- tinycnt += cnt;
+
+ if ((ifd == STDIN_FILENO) && (cnt == 0)) {
+ /* No more bytes - we are done after writing the remaining bytes */
+ imglen = 0;
+ }
}
if (!noecc) {
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-08-06 0:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-06 0:40 [PATCH 2/5 v3] [MTD-UTILS] Unified reading from standard input and from file Jehan Bing
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.