]> mj.ucw.cz Git - pciutils.git/commitdiff
Clean up freeing of the ID tables.
authorMartin Mares <mj@ucw.cz>
Tue, 12 Feb 2008 11:25:34 +0000 (12:25 +0100)
committerMartin Mares <mj@ucw.cz>
Tue, 12 Feb 2008 11:25:34 +0000 (12:25 +0100)
TODO
lib/names-hash.c
lib/names-parse.c
lib/names.h

diff --git a/TODO b/TODO
index 81053e83edfbd88012377bead64af12f3c516149..0b13661c0d5f3520e461f51a4308ad648c5eb724 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,12 +1,10 @@
 - review class names
 
 DNS mode:
-- update README
 - check negative caching
 - check handling of network errors
 - try to avoid libresolv.a
 - replace "Unknown device" with "Device"
-- check the logic around id_load_failed
 
 Capabilities with partial decoding:
 - PCIe 2nd set of control/status registers (have spec)
index d0748c7b9e16550b2a5b345f933d4fe0b5e2d079..33f3c11b4d5379a7620db90159e002fd771bbf1c 100644 (file)
@@ -112,12 +112,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 +124,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);
-}
index 71b622f84cb841d5a85274a9ecf17dbbea6e18a5..58ab578e0e9f2d1775fb2f75a7ce49f74bb17155 100644 (file)
@@ -233,7 +233,16 @@ pci_load_name_list(struct pci_access *a)
   return 1;
 }
 
-void pci_set_name_list_path(struct pci_access *a, char *name, int to_be_freed)
+void
+pci_free_name_list(struct pci_access *a)
+{
+  pci_id_cache_flush(a);
+  pci_id_hash_free(a);
+  a->id_load_failed = 0;
+}
+
+void
+pci_set_name_list_path(struct pci_access *a, char *name, int to_be_freed)
 {
   if (a->free_id_name)
     free(a->id_file_name);
index 1ecea8bdc39608299d3a85fe5595877524afb7c6..81c373fe023cbc628f079066aaf1dbd144ddeff1 100644 (file)
@@ -62,6 +62,7 @@ char *pci_id_lookup(struct pci_access *a, int flags, int cat, int id1, int id2,
 int pci_id_cache_load(struct pci_access *a, int flags);
 void pci_id_cache_dirty(struct pci_access *a);
 void pci_id_cache_flush(struct pci_access *a);
+void pci_id_hash_free(struct pci_access *a);
 
 /* names-dns.c */