[Toybox] [PATCH] lspci: fix output of device info with new pci.ids
Isaac Dunham
ibid.ag at gmail.com
Thu May 22 16:18:16 PDT 2014
lspci: fix output of device info with new pci.ids
With a new pci id database, available at
http://pciids.sourceforge.net/v2.2/pci.ids.bz2
(or also in gzip/uncompressed format),
lspci was frequently ignoring the device.
The fix was to explicitly ignore comments.
--
Reading lspci.c again, memset(toybuf, 0, 4096); is needed because it
initializes vname/devname to an empty state; removing that line would
result in garbage text output/repetition of the wrong vendor and device
information.
HTH,
Isaac Dunham
-------------- next part --------------
diff --git a/toys/pending/lspci.c b/toys/pending/lspci.c
index c61f582..f07f8d2 100644
--- a/toys/pending/lspci.c
+++ b/toys/pending/lspci.c
@@ -67,7 +67,8 @@ int find_in_db(char *vendid, char *devid, FILE *fil, char *vname, char *devname)
strncpy(vname, vtext, strlen(vtext) - 1);
}
while (!*devname) {
- if (!fgets(buf, 255, fil) || *buf != '\t') return 1;
+ if (!fgets(buf, 255, fil) || (*buf != '\t' && *buf != '#')) return 1;
+ if (*buf == '#') continue;
if ((dtext = id_check_match(devid, buf + 1)))
strncpy(devname, dtext, strlen(dtext) - 1);
}
More information about the Toybox
mailing list