Loader: deny boot if the firmware is too old

This commit is contained in:
Megamouse 2025-03-28 15:29:29 +01:00 committed by Elad
parent 095c884331
commit 949a80dc0a
6 changed files with 39 additions and 18 deletions

View file

@ -418,4 +418,19 @@ namespace rpcs3::utils
return {};
}
bool version_is_bigger(std::string_view v0, std::string_view v1, std::string_view serial, bool is_fw)
{
std::add_pointer_t<char> ev0, ev1;
const double ver0 = std::strtod(v0.data(), &ev0);
const double ver1 = std::strtod(v1.data(), &ev1);
if (v0.data() + v0.size() == ev0 && v1.data() + v1.size() == ev1)
{
return ver0 > ver1;
}
sys_log.error("Failed to compare the %s numbers for title ID %s: '%s'-'%s'", is_fw ? "firmware version" : "version", serial, v0, v1);
return false;
}
}