diff options
Diffstat (limited to 'hardinfo')
-rw-r--r-- | hardinfo/usb_util.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/hardinfo/usb_util.c b/hardinfo/usb_util.c index f883657c..8b73332f 100644 --- a/hardinfo/usb_util.c +++ b/hardinfo/usb_util.c @@ -58,6 +58,7 @@ usbd *usbd_new() { void usbd_free(usbd *s) { if (s) { usbi_list_free(s->if_list); + vendor_list_free(s->vendors); g_free(s->vendor); g_free(s->product); g_free(s->manufacturer); @@ -517,11 +518,17 @@ static usbd *usb_get_device_list_sysfs() { } usbd *usb_get_device_list() { - usbd *lst; + usbd *lst, *l; lst = usb_get_device_list_sysfs(); if (lst == NULL) lst = usb_get_device_list_lsusb(); + l = lst; + while(l) { + l->vendors = vendor_list_remove_duplicates_deep(vendors_match(l->vendor, l->manufacturer, NULL)); + l = l->next; + } + return lst; } |