Skip to content

Commit

Permalink
Enable -Wconversion in mbed platform code.
Browse files Browse the repository at this point in the history
  • Loading branch information
bzbarsky-apple committed Mar 1, 2023
1 parent e434c6a commit 4a12a6a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 7 deletions.
2 changes: 2 additions & 0 deletions src/platform/mbed/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,6 @@ static_library("mbed") {
"NetworkCommissioningWiFiDriver.cpp",
]
}

cflags = [ "-Wconversion" ]
}
5 changes: 3 additions & 2 deletions src/platform/mbed/NetworkCommissioningDriver.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ class MbedScanResponseIterator : public Iterator<WiFiScanResponse>
}

item.security.SetRaw(mScanResults[mIternum].get_security());
item.ssidLen = strnlen(reinterpret_cast<const char *>(mScanResults[mIternum].get_ssid()),
chip::DeviceLayer::Internal::kMaxWiFiSSIDLength);
static_assert(chip::DeviceLayer::Internal::kMaxWiFiSSIDLength <= UINT8_MAX, "Our length won't fit in ssidLen");
item.ssidLen = static_cast<uint8_t>(strnlen(reinterpret_cast<const char *>(mScanResults[mIternum].get_ssid()),
chip::DeviceLayer::Internal::kMaxWiFiSSIDLength));
item.channel = mScanResults[mIternum].get_channel();
item.wiFiBand = chip::DeviceLayer::NetworkCommissioning::WiFiBand::k2g4;
item.rssi = mScanResults[mIternum].get_rssi();
Expand Down
21 changes: 16 additions & 5 deletions src/platform/mbed/NetworkCommissioningWiFiDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,16 @@ CHIP_ERROR WiFiDriverImpl::Init(NetworkStatusChangeCallback * networkStatusChang
auto err = PersistedStorage::KeyValueStoreMgr().Get(kWiFiSSIDKeyName, mSavedNetwork.ssid, sizeof(mSavedNetwork.ssid), &ssidLen);
if (err == CHIP_NO_ERROR)
{
mSavedNetwork.ssidLen = ssidLen;
static_assert(sizeof(mSavedNetwork.ssid) <= UINT8_MAX, "Our length might not fit in mSavedNetwork.ssidLen");
mSavedNetwork.ssidLen = static_cast<uint8_t>(ssidLen);
}

err = PersistedStorage::KeyValueStoreMgr().Get(kWiFiCredentialsKeyName, mSavedNetwork.credentials,
sizeof(mSavedNetwork.credentials), &credentialsLen);
if (err == CHIP_NO_ERROR)
{
mSavedNetwork.credentialsLen = credentialsLen;
static_assert(sizeof(mSavedNetwork.credentials) <= UINT8_MAX, "Our length might not fit in mSavedNetwork.credentialsLen");
mSavedNetwork.credentialsLen = static_cast<uint8_t>(credentialsLen);
}

if (mSavedNetwork.ssidLen != 0 && mSavedNetwork.credentialsLen != 0)
Expand Down Expand Up @@ -291,17 +293,26 @@ void WiFiDriverImpl::ExecuteScanNetwork()
MbedScanResponseIterator * scan_resp_iter;

// Get APs number
ap_number = mWiFiInterface->scan(nullptr, 0);
if (!ap_number)
auto scan_result = mWiFiInterface->scan(nullptr, 0);
if (scan_result <= 0)
{
ChipLogProgress(DeviceLayer, "No AP found");
if (scan_result == 0)
{
ChipLogProgress(DeviceLayer, "No AP found");
}
else
{
ChipLogError(DeviceLayer, "Error scanning for APs: %d", scan_result);
}
if (mScanCallback)
{
mScanCallback->OnFinished(Status::kUnknownError, CharSpan(), nullptr);
}
goto exit;
}

ap_number = static_cast<uint16_t>(scan_result);

ap_buffer = new WiFiAccessPoint[ap_number];
if (ap_buffer == nullptr)
{
Expand Down

0 comments on commit 4a12a6a

Please sign in to comment.