From 789ad3db351e53767d10b05fe9c2ed69757fa3ed Mon Sep 17 00:00:00 2001 From: Ollie Lho Date: Thu, 18 Mar 2004 20:27:33 +0000 Subject: Fix stupid i++ evalution order bug Corresponding to flashrom svn r9 and coreboot v2 svn r1435. --- flash_rom.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'flash_rom.c') 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; } -- cgit v1.1