Merge pull request #10729 from Pokechu22/libusb-error-wrap

Improve libusb error logging
This commit is contained in:
Admiral H. Curtiss
2022-06-17 16:01:46 +02:00
committed by GitHub
7 changed files with 130 additions and 68 deletions

View File

@ -11,6 +11,7 @@
#endif
#include "Common/CommonTypes.h"
#include "Common/Logging/Log.h"
#include "Core/LibusbUtils.h"
// Because opening and getting the device name from devices is slow, especially on Windows
@ -45,13 +46,15 @@ std::map<std::pair<u16, u16>, std::string> GetInsertedDevices()
if (!context.IsValid())
return devices;
context.GetDeviceList([&](libusb_device* device) {
const int ret = context.GetDeviceList([&](libusb_device* device) {
libusb_device_descriptor descr;
libusb_get_device_descriptor(device, &descr);
const std::pair<u16, u16> vid_pid{descr.idVendor, descr.idProduct};
devices[vid_pid] = GetDeviceName(vid_pid);
return true;
});
if (ret != LIBUSB_SUCCESS)
WARN_LOG_FMT(COMMON, "GetDeviceList failed: {}", LibusbUtils::ErrorWrap(ret));
#endif
return devices;