X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fnames-hash.c;h=8c7567604acb8595b05e0e7b42f3a514a458e098;hb=b6e558fb75b6e46b9a10d2b1e5c10c346b412331;hp=d0748c7b9e16550b2a5b345f933d4fe0b5e2d079;hpb=c6b83ae3aece7a098858701c4ae3b36adc1c1378;p=pciutils.git diff --git a/lib/names-hash.c b/lib/names-hash.c index d0748c7..8c75676 100644 --- a/lib/names-hash.c +++ b/lib/names-hash.c @@ -3,7 +3,9 @@ * * Copyright (c) 1997--2008 Martin Mares * - * Can be freely distributed and used under the terms of the GNU GPL. + * Can be freely distributed and used under the terms of the GNU GPL v2+. + * + * SPDX-License-Identifier: GPL-2.0-or-later */ #include @@ -103,6 +105,8 @@ char continue; if (n->src == SRC_CACHE && !(flags & PCI_LOOKUP_CACHE)) continue; + if (n->src == SRC_HWDB && (flags & (PCI_LOOKUP_SKIP_LOCAL | PCI_LOOKUP_NO_HWDB))) + continue; if (!best || best->src < n->src) best = n; } @@ -112,12 +116,11 @@ char return NULL; } -static void +void pci_id_hash_free(struct pci_access *a) { pci_mfree(a->id_hash); a->id_hash = NULL; - a->id_cache_status = 0; while (a->current_id_bucket) { struct id_bucket *buck = a->current_id_bucket; @@ -125,10 +128,3 @@ pci_id_hash_free(struct pci_access *a) pci_mfree(buck); } } - -void -pci_free_name_list(struct pci_access *a) -{ - pci_id_cache_flush(a); - pci_id_hash_free(a); -}