in AZ3166/src/libraries/AzureIoT/src/DevKitOTAUtils.cpp [30:60]
int IoTHubClient_FwVersionCompare(const char* fwVersion1, const char* fwVersion2)
{
if (fwVersion1 == NULL || fwVersion2 == NULL)
{
if (fwVersion1 == fwVersion2) return 0;
return (fwVersion1 ? 1 : -1);
}
int vnum1 = 0, vnum2 = 0;
size_t ver1Len = strlen(fwVersion1), ver2Len = strlen(fwVersion2);
for (int i = 0, j = 0; (i < (int)ver1Len || j < (int)ver2Len); ++i, ++j)
{
while (i < (int)ver1Len && fwVersion1[i] != '.')
{
if (isdigit(fwVersion1[i]))
vnum1 = vnum1 * 10 + (fwVersion1[i] - '0');
i++;
}
while (j < (int)ver2Len && fwVersion2[j] != '.')
{
if (isdigit(fwVersion2[j]))
vnum2 = vnum2 * 10 + (fwVersion2[j] - '0');
j++;
}
if (vnum1 > vnum2)
return 1;
if (vnum2 > vnum1)
return -1;
vnum1 = vnum2 = 0;
}
return 0;
}