[flashrom] [commit] r684 - trunk
svn at flashrom.org
svn at flashrom.org
Thu Aug 13 13:38:45 CEST 2009
Author: hailfinger
Date: 2009-08-13 13:38:44 +0200 (Thu, 13 Aug 2009)
New Revision: 684
Modified:
trunk/flashrom.c
Log:
Generate the usage message by walking the list of available programmers.
This makes sure compiled out programmers are not listed.
Tested, usage output is identical to the hardcoded variant.
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Acked-by: Stefan Reinauer <stepan at coresystems.de>
Modified: trunk/flashrom.c
===================================================================
--- trunk/flashrom.c 2009-08-12 18:25:24 UTC (rev 683)
+++ trunk/flashrom.c 2009-08-13 11:38:44 UTC (rev 684)
@@ -488,6 +488,11 @@
void usage(const char *name)
{
+ const char *pname;
+ int pnamelen;
+ int remaining = 0;
+ enum programmer p;
+
printf("usage: %s [-VfLzhR] [-E|-r file|-w file|-v file] [-c chipname]\n"
" [-m [vendor:]part] [-l file] [-i image] [-p programmer]\n\n", name);
@@ -510,9 +515,33 @@
" -i | --image <name>: only flash image name from flash layout\n"
" -L | --list-supported: print supported devices\n"
" -z | --list-supported-wiki: print supported devices in wiki syntax\n"
- " -p | --programmer <name>: specify the programmer device\n"
- " (internal, dummy, nic3com, satasii,\n"
- " it87spi, ft2232spi, serprog)\n"
+ " -p | --programmer <name>: specify the programmer device");
+
+ for (p = 0; p < PROGRAMMER_INVALID; p++) {
+ pname = programmer_table[p].name;
+ pnamelen = strlen(pname);
+ if (remaining - pnamelen - 2 < 0) {
+ printf("\n ");
+ remaining = 43;
+ } else {
+ printf(" ");
+ remaining--;
+ }
+ if (p == 0) {
+ printf("(");
+ remaining--;
+ }
+ printf("%s", pname);
+ remaining -= pnamelen;
+ if (p < PROGRAMMER_INVALID - 1) {
+ printf(",");
+ remaining--;
+ } else {
+ printf(")\n");
+ }
+ }
+
+ printf(
" -h | --help: print this help text\n"
" -R | --version: print the version (release)\n"
"\nYou can specify one of -E, -r, -w, -v or no operation. If no operation is\n"
More information about the flashrom
mailing list