From 1c2fb4a4f3eb5f9824e492f6b6c14e8cdf5072c4 Mon Sep 17 00:00:00 2001 From: Pali Rohár Date: Wed, 15 Mar 2023 19:11:25 +0100 Subject: libpci: win32-cfgmgr32: Show type of source in warning message --- lib/win32-cfgmgr32.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/lib/win32-cfgmgr32.c b/lib/win32-cfgmgr32.c index 0bcc0aa..4f40d11 100644 --- a/lib/win32-cfgmgr32.c +++ b/lib/win32-cfgmgr32.c @@ -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; } -- cgit 1.2.3-korg