NOISSUE sanitize Json
Removes magical parameter madness. All require* can throw All ensure* need a default value and never throw
This commit is contained in:
@@ -74,18 +74,18 @@ bool readOverrideOrders(QString path, PatchOrder &order)
|
||||
// and then read it and process it if all above is true.
|
||||
try
|
||||
{
|
||||
auto obj = Json::ensureObject(doc);
|
||||
auto obj = Json::requireObject(doc);
|
||||
// check order file version.
|
||||
auto version = Json::ensureInteger(obj.value("version"));
|
||||
auto version = Json::requireInteger(obj.value("version"));
|
||||
if (version != currentOrderFileVersion)
|
||||
{
|
||||
throw JSONValidationError(QObject::tr("Invalid order file version, expected %1")
|
||||
.arg(currentOrderFileVersion));
|
||||
}
|
||||
auto orderArray = Json::ensureArray(obj.value("order"));
|
||||
auto orderArray = Json::requireArray(obj.value("order"));
|
||||
for(auto item: orderArray)
|
||||
{
|
||||
order.append(Json::ensureString(item));
|
||||
order.append(Json::requireString(item));
|
||||
}
|
||||
}
|
||||
catch (JSONValidationError &err)
|
||||
|
||||
Reference in New Issue
Block a user