summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-11-17 09:57:34 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2009-11-17 09:57:34 +0000
commitf52920581d07df19e1ef7c00aa7d1a1dc2a83b8f (patch)
tree62e7a6f0fe09535ffcfc679a991c2ca3d665f2d4 /flashrom.c
parent6161ff188089f6672bffa19f24161afc87775ab8 (diff)
downloadast2050-flashrom-f52920581d07df19e1ef7c00aa7d1a1dc2a83b8f.zip
ast2050-flashrom-f52920581d07df19e1ef7c00aa7d1a1dc2a83b8f.tar.gz
Refactor main loop in preparation of libflashrom
To prepare for libflashrom I wanted to make the main loop more readable and more correct and factor out stuff which can be useful in libflashrom. - Factor out printing of supported devices to print.c. - Adjust name of wiki printing function to fit the pattern. - Abort if the user specified --verify and --noverify at the same time. - Check for extra parameters which don't fit commandline syntax. Corresponding to flashrom svn r766. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stefan Reinauer <stepan@coresystems.de>
Diffstat (limited to 'flashrom.c')
-rw-r--r--flashrom.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/flashrom.c b/flashrom.c
index d1a86cb..6f302bb 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -801,14 +801,25 @@ int main(int argc, char *argv[])
write_it = 1;
break;
case 'v':
+ //FIXME: gracefully handle superfluous -v
if (++operation_specified > 1) {
fprintf(stderr, "More than one operation "
"specified. Aborting.\n");
exit(1);
}
+ if (dont_verify_it) {
+ fprintf(stderr, "--verify and --noverify are"
+ "mutually exclusive. Aborting.\n");
+ exit(1);
+ }
verify_it = 1;
break;
case 'n':
+ if (verify_it) {
+ fprintf(stderr, "--verify and --noverify are"
+ "mutually exclusive. Aborting.\n");
+ exit(1);
+ }
dont_verify_it = 1;
break;
case 'c':
@@ -896,29 +907,13 @@ int main(int argc, char *argv[])
}
if (list_supported) {
- print_supported_chips();
- print_supported_chipsets();
- print_supported_boards();
- printf("\nSupported PCI devices flashrom can use "
- "as programmer:\n\n");
-#if NIC3COM_SUPPORT == 1
- print_supported_pcidevs(nics_3com);
-#endif
-#if GFXNVIDIA_SUPPORT == 1
- print_supported_pcidevs(gfx_nvidia);
-#endif
-#if DRKAISER_SUPPORT == 1
- print_supported_pcidevs(drkaiser_pcidev);
-#endif
-#if SATASII_SUPPORT == 1
- print_supported_pcidevs(satas_sii);
-#endif
+ print_supported();
exit(0);
}
#if PRINT_WIKI_SUPPORT == 1
if (list_supported_wiki) {
- print_wiki_tables();
+ print_supported_wiki();
exit(0);
}
#endif
@@ -930,6 +925,11 @@ int main(int argc, char *argv[])
if (optind < argc)
filename = argv[optind++];
+
+ if (optind < argc) {
+ printf("Error: Extra parameter found.\n");
+ usage(argv[0]);
+ }
if (programmer_init()) {
fprintf(stderr, "Error: Programmer initialization failed.\n");
@@ -1146,7 +1146,7 @@ int main(int argc, char *argv[])
if (write_it)
programmer_delay(1000*1000);
ret = verify_flash(flash, buf);
- /* If we tried to write, and now we don't properly verify, we
+ /* If we tried to write, and verification now fails, we
* might have an emergency situation.
*/
if (ret && write_it)
OpenPOWER on IntegriCloud