]> mj.ucw.cz Git - pciutils.git/commitdiff
libpci: win32-cfgmgr32: Show type of source in warning message
authorPali Rohár <pali@kernel.org>
Wed, 15 Mar 2023 18:11:25 +0000 (19:11 +0100)
committerMartin Mares <mj@ucw.cz>
Fri, 29 Dec 2023 13:30:02 +0000 (14:30 +0100)
lib/win32-cfgmgr32.c

index 0bcc0aa3c06bbbd0e2ae21b2b740349780238287..4f40d1156a68de31e496b0d9b07d3c7a4b8a458d 100644 (file)
@@ -902,6 +902,22 @@ fill_drivers(struct pci_access *a)
     CloseServiceHandle(manager);
 }
 
+static const char *
+res_id_to_str(RESOURCEID res_id)
+{
+  static char hex_res_id[sizeof("0xffffffff")];
+
+  if (res_id == ResType_IO)
+    return "IO";
+  else if (res_id == ResType_Mem)
+    return "MEM";
+  else if (res_id == ResType_IRQ)
+    return "IRQ";
+
+  sprintf(hex_res_id, "0x%lx", res_id);
+  return hex_res_id;
+}
+
 static void
 fill_resources(struct pci_dev *d, DEVINST devinst, DEVINSTID_A devinst_id)
 {
@@ -1034,13 +1050,13 @@ fill_resources(struct pci_dev *d, DEVINST devinst, DEVINSTID_A devinst_id)
       cr = CM_Get_Res_Des_Data_Size(&res_des_data_size, res_des, 0);
       if (cr != CR_SUCCESS)
         {
-          a->warning("Cannot retrieve resource data of PCI device %s: %s.", devinst_id, cr_strerror(cr));
+          a->warning("Cannot retrieve %s resource data of PCI device %s: %s.", res_id_to_str(res_id), devinst_id, cr_strerror(cr));
           continue;
         }
 
       if (!res_des_data_size)
         {
-          a->warning("Cannot retrieve resource data of PCI device %s: %s.", devinst_id, "Empty data");
+          a->warning("Cannot retrieve %s resource data of PCI device %s: %s.", res_id_to_str(res_id), devinst_id, "Empty data");
           continue;
         }
 
@@ -1048,7 +1064,7 @@ fill_resources(struct pci_dev *d, DEVINST devinst, DEVINSTID_A devinst_id)
       cr = CM_Get_Res_Des_Data(res_des, res_des_data, res_des_data_size, 0);
       if (cr != CR_SUCCESS)
         {
-          a->warning("Cannot retrieve resource data of PCI device %s: %s.", devinst_id, cr_strerror(cr));
+          a->warning("Cannot retrieve %s resource data of PCI device %s: %s.", res_id_to_str(res_id), devinst_id, cr_strerror(cr));
           pci_mfree(res_des_data);
           continue;
         }