diff options
author | Ollie Lho <ollie@sis.com.tw> | 2004-03-18 20:27:33 +0000 |
---|---|---|
committer | Ollie Lho <ollie@sis.com.tw> | 2004-03-18 20:27:33 +0000 |
commit | 789ad3db351e53767d10b05fe9c2ed69757fa3ed (patch) | |
tree | d1a2668fbf61cadc9b37ee36a5eee97738b58f12 | |
parent | cf29de879843ec2293483eeb609191a834a4863c (diff) | |
download | ast2050-flashrom-789ad3db351e53767d10b05fe9c2ed69757fa3ed.zip ast2050-flashrom-789ad3db351e53767d10b05fe9c2ed69757fa3ed.tar.gz |
Fix stupid i++ evalution order bug
Corresponding to flashrom svn r9 and coreboot v2 svn r1435.
-rw-r--r-- | flash_rom.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/flash_rom.c b/flash_rom.c index 13bb182..d57957d 100644 --- a/flash_rom.c +++ b/flash_rom.c @@ -141,7 +141,7 @@ int verify_flash (struct flashchip * flash, char * buf, int verbose) volatile char * bios = flash->virt_addr; printf("Verifying address: "); - while (i++ < total_size) { + while (i < total_size) { if (verbose) printf("0x%08x", i); if (*(bios+i) != *(buf+i)) { @@ -150,6 +150,7 @@ int verify_flash (struct flashchip * flash, char * buf, int verbose) } if (verbose) printf("\b\b\b\b\b\b\b\b\b\b"); + i++ } if (verbose) printf("\n"); @@ -178,12 +179,12 @@ int main (int argc, char * argv[]) FILE * image; struct flashchip * flash; int opt; - int read_it = 0, write_it = 0, verify_it = 0; + int read_it = 0, write_it = 0, verify_it = 0, verbose = 0; char *filename = NULL; setbuf(stdout, NULL); - while ((opt = getopt(argc, argv, "rwvc:")) != EOF) { + while ((opt = getopt(argc, argv, "rwvVc:")) != EOF) { switch (opt) { case 'r': read_it = 1; @@ -197,6 +198,9 @@ int main (int argc, char * argv[]) case 'c': chip_to_probe = strdup(optarg); break; + case 'V': + verbose = 1; + break; default: usage(argv[0]); break; @@ -257,6 +261,6 @@ int main (int argc, char * argv[]) if (write_it || (!read_it && !verify_it)) flash->write (flash, buf); if (verify_it) - verify_flash (flash, buf, /* verbose = */ 0); + verify_flash (flash, buf, verbose); return 0; } |