aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjamesbond <jamesbond>2014-08-05 00:08:52 +0000
committerLeandro Pereira <leandro@hardinfo.org>2015-10-25 15:49:33 -0200
commited99fc74e637e7b62c907fb77c41dd331a955fa9 (patch)
treecb5b79d289df3ff99405e5acc64c6ae96e868715
parent6dd14fed6db519a2feb77a5b2b6e73ff03c4d043 (diff)
fix usb information display.
-rw-r--r--modules/devices/usb.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/devices/usb.c b/modules/devices/usb.c
index 3452932a..2446bd06 100644
--- a/modules/devices/usb.c
+++ b/modules/devices/usb.c
@@ -248,14 +248,16 @@ void __scan_usb_lsusb_add_device(char *buffer, int bufsize, FILE *lsusb, int usb
{
gint bus, device, vendor_id, product_id;
gchar *version = NULL, *product = NULL, *vendor = NULL, *dev_class = NULL, *int_class = NULL;
- gchar *max_power = NULL;
+ gchar *max_power = NULL, *name=NULL;
gchar *tmp, *strhash;
long position;
+ g_strstrip(buffer);
sscanf(buffer, "Bus %d Device %d: ID %x:%x",
&bus, &device, &vendor_id, &product_id);
+ name = g_strdup (buffer + 33);
- for (fgets(buffer, bufsize, lsusb); position = ftell(lsusb); fgets(buffer, bufsize, lsusb)) {
+ for (fgets(buffer, bufsize, lsusb); fgets(buffer, bufsize, lsusb); position = ftell(lsusb)) {
g_strstrip(buffer);
if (g_str_has_prefix(buffer, "idVendor")) {
@@ -293,7 +295,7 @@ void __scan_usb_lsusb_add_device(char *buffer, int bufsize, FILE *lsusb, int usb
}
tmp = g_strdup_printf("USB%d", usb_device_number);
- usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, product ? product : "Unknown");
+ usb_list = h_strdup_cprintf("$%s$%s=\n", usb_list, tmp, name);
strhash = g_strdup_printf("[Device Information]\n"
"Product=%s\n"
@@ -319,6 +321,7 @@ void __scan_usb_lsusb_add_device(char *buffer, int bufsize, FILE *lsusb, int usb
g_free(dev_class);
g_free(version);
g_free(tmp);
+ g_free(name);
}
gboolean __scan_usb_lsusb(void)