diff options
| -rw-r--r-- | device.cc | 21 | 
1 files changed, 11 insertions, 10 deletions
| @@ -209,16 +209,17 @@ std::vector<DeviceInfo> Device::enumerate(){    auto pInfo_ = pInfo;    std::vector<DeviceInfo> res;    while (pInfo != nullptr){ -    if (pInfo->path != nullptr && pInfo->serial_number != nullptr) { -      auto deviceModel = product_id_to_model(pInfo->product_id); -      if (deviceModel.has_value()) { -        std::string path(pInfo->path); -        std::wstring serialNumberW(pInfo->serial_number); -        std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; -        std::string serialNumber = converter.to_bytes(serialNumberW); -        DeviceInfo info = { deviceModel.value(), path, serialNumber }; -        res.push_back(info); -      } +    if (pInfo->path == nullptr || pInfo->serial_number == nullptr) { +      continue; +    } +    auto deviceModel = product_id_to_model(pInfo->product_id); +    if (deviceModel.has_value()) { +      std::string path(pInfo->path); +      std::wstring serialNumberW(pInfo->serial_number); +      std::wstring_convert<std::codecvt_utf8<wchar_t>> converter; +      std::string serialNumber = converter.to_bytes(serialNumberW); +      DeviceInfo info = {deviceModel.value(), path, serialNumber}; +      res.push_back(info);      }      pInfo = pInfo->next;    } | 
