[Toybox] [PATCH] lspci -i (was Re: [CLEANUP] lspci first pass)

Isaac Dunham ibid.ag at gmail.com
Tue May 20 18:23:05 PDT 2014


lspci text output: add -i, allow -n when disabled

-i is how standard lspci handles changing the PCI ID database.
lspci -n should be a no-op when text is disabled.
--
I don't know the best way to document that -i should normally point to 
/path/to/pci.ids ... please adjust the help appropriately.

Surprisingly enough, "emkn"USE_LSPCI_TEXT("@i:") works without any 
mucking around.


Thanks,
Isaac Dunham
-------------- next part --------------
diff --git a/toys/pending/lspci.c b/toys/pending/lspci.c
index b557e45..c61f582 100644
--- a/toys/pending/lspci.c
+++ b/toys/pending/lspci.c
@@ -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");


More information about the Toybox mailing list