lspci text output: add -i, allow -n when disabled
authorIsaac Dunham <ibid.ag@gmail.com>
Wed, 21 May 2014 02:19:17 +0000 (21:19 -0500)
committerIsaac Dunham <ibid.ag@gmail.com>
Wed, 21 May 2014 02:19:17 +0000 (21:19 -0500)
-i is how standard lspci handles changing the PCI ID database.
lspci -n should be a no-op when text is disabled.

toys/pending/lspci.c

index b557e45..c61f582 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * lspci - written by Isaac Dunham
 
-USE_LSPCI(NEWTOY(lspci, "emk"USE_LSPCI_TEXT("n@"), TOYFLAG_USR|TOYFLAG_BIN))
+USE_LSPCI(NEWTOY(lspci, "emkn"USE_LSPCI_TEXT("@i:"), TOYFLAG_USR|TOYFLAG_BIN))
 
 config LSPCI
   bool "lspci"
@@ -20,15 +20,17 @@ config LSPCI_TEXT
   depends on LSPCI
   default n
   help
-    usage: lspci [-n]
+    usage: lspci [-n] [-i /usr/share/misc/pci.ids ]
 
     -n Numeric output (repeat for readable and numeric)
+    -i Path to PCI ID database
 */
 
 #define FOR_lspci
 #include "toys.h"
 
 GLOBALS(
+  char *ids;
   long numeric;
 
   FILE *db;
@@ -138,7 +140,7 @@ int do_lspci(struct dirtree *new)
 void lspci_main(void)
 {
   if (CFG_LSPCI_TEXT && (TT.numeric != 1)) {
-    TT.db = fopen("/usr/share/misc/pci.ids", "r");
+    TT.db = fopen(TT.ids ? TT.ids : "/usr/share/misc/pci.ids", "r");
     if (errno) {
       TT.numeric = 1;
       error_msg("could not open PCI ID db");