diff options
Diffstat (limited to 'arch/linux/common/usb.h')
-rw-r--r-- | arch/linux/common/usb.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/arch/linux/common/usb.h b/arch/linux/common/usb.h index a52be2cb..d59f5f01 100644 --- a/arch/linux/common/usb.h +++ b/arch/linux/common/usb.h @@ -20,11 +20,6 @@ static gboolean remove_usb_devices(gpointer key, gpointer value, gpointer data) { if (!strncmp((gchar *) key, "USB", 3)) { - GtkTreeIter *iter = (GtkTreeIter *) data; - - g_free((gchar *) value); - g_free(iter); - return TRUE; } return FALSE; @@ -32,7 +27,7 @@ remove_usb_devices(gpointer key, gpointer value, gpointer data) static gchar *usb_list = NULL; void -scan_usb(void) +__scan_usb(void) { FILE *dev; gchar buffer[128]; @@ -47,7 +42,7 @@ scan_usb(void) return; if (usb_list) { - g_hash_table_foreach_remove(devices, remove_usb_devices, NULL); + g_hash_table_foreach_remove(moreinfo, remove_usb_devices, NULL); g_free(usb_list); } usb_list = g_strdup(""); @@ -100,6 +95,13 @@ scan_usb(void) usb_list = g_strdup_printf("%s$%s$%s=\n", usb_list, tmp, product); + const gchar *url = vendor_get_url(manuf); + if (url) { + gchar *tmp = g_strdup_printf("%s (%s)", manuf, url); + g_free(manuf); + manuf = tmp; + } + gchar *strhash = g_strdup_printf("[Device Information]\n" "Product=%s\n" "Manufacturer=%s\n" @@ -118,7 +120,7 @@ scan_usb(void) ver, rev, classid, vendor, prodid, bus, level); - g_hash_table_insert(devices, tmp, strhash); + g_hash_table_insert(moreinfo, tmp, strhash); } g_free(manuf); |