Simplify discovery with proper string initialization

This commit is contained in:
LordGrey 2023-04-02 14:31:04 +00:00
parent 349bbadd8e
commit 916b3f3ba7

View File

@ -191,14 +191,12 @@ QJsonObject ProviderFtdi::discover(const QJsonObject & /*params*/)
.arg(productIdentifier); .arg(productIdentifier);
uint8_t deviceIndex = deviceIndexes.value(vendorAndProduct, 0); uint8_t deviceIndex = deviceIndexes.value(vendorAndProduct, 0);
QString serialNumber; char serial_string[128] = {0};
char serial_string[128]; char manufacturer_string[128] = {0};
rc = ftdi_usb_get_strings2(ftdic, curdev->dev, nullptr, 0, nullptr, 0, serial_string, 128); char description_string[128] = {0};
if (rc == 0) ftdi_usb_get_strings2(ftdic, curdev->dev, manufacturer_string, 128, description_string, 128, serial_string, 128);
{
serialNumber = serial_string;
}
QString serialNumber {serial_string};
QString ftdiOpenString; QString ftdiOpenString;
if(!serialNumber.isEmpty()) if(!serialNumber.isEmpty())
{ {
@ -209,30 +207,14 @@ QJsonObject ProviderFtdi::discover(const QJsonObject & /*params*/)
ftdiOpenString = QString("i:%1:%2").arg(vendorAndProduct).arg(deviceIndex); ftdiOpenString = QString("i:%1:%2").arg(vendorAndProduct).arg(deviceIndex);
} }
QString manufacturer;
char manufacturer_string[128];
rc = ftdi_usb_get_strings2(ftdic, curdev->dev, manufacturer_string, 128, nullptr, 0, nullptr, 0);
if (rc == 0)
{
manufacturer = manufacturer_string;
}
QString description;
char description_string[128];
rc = ftdi_usb_get_strings2(ftdic, curdev->dev, nullptr, 0, description_string, 128, nullptr, 0);
if (rc == 0)
{
description = description_string;
}
deviceList.push_back(QJsonObject{ deviceList.push_back(QJsonObject{
{"ftdiOpenString", ftdiOpenString}, {"ftdiOpenString", ftdiOpenString},
{"vendorIdentifier", vendorIdentifier}, {"vendorIdentifier", vendorIdentifier},
{"productIdentifier", productIdentifier}, {"productIdentifier", productIdentifier},
{"deviceIndex", deviceIndex}, {"deviceIndex", deviceIndex},
{"serialNumber", serialNumber}, {"serialNumber", serialNumber},
{"manufacturer", manufacturer}, {"manufacturer", manufacturer_string},
{"description", description} {"description", description_string}
}); });
deviceIndexes.insert(vendorAndProduct, deviceIndex + 1); deviceIndexes.insert(vendorAndProduct, deviceIndex + 1);
} }