Log warnings when LibusbUtils::MakeConfigDescriptor fails

This commit is contained in:
Pokechu22
2022-06-08 12:29:16 -07:00
parent 15cbb5c8f9
commit eeab51e3a4
4 changed files with 23 additions and 10 deletions

View File

@ -115,14 +115,17 @@ int Context::GetDeviceList(GetDeviceListCallback callback) const
return m_impl->GetDeviceList(std::move(callback));
}
ConfigDescriptor MakeConfigDescriptor(libusb_device* device, u8 config_num)
std::pair<int, ConfigDescriptor> MakeConfigDescriptor(libusb_device* device, u8 config_num)
{
#if defined(__LIBUSB__)
libusb_config_descriptor* descriptor = nullptr;
if (libusb_get_config_descriptor(device, config_num, &descriptor) == LIBUSB_SUCCESS)
return {descriptor, libusb_free_config_descriptor};
const int ret = libusb_get_config_descriptor(device, config_num, &descriptor);
if (ret == LIBUSB_SUCCESS)
return {ret, ConfigDescriptor{descriptor, libusb_free_config_descriptor}};
#else
const int ret = -1;
#endif
return {nullptr, [](auto) {}};
return {ret, ConfigDescriptor{nullptr, [](auto) {}}};
}
const char* ErrorWrap::GetName() const