mirror of
https://github.com/PrismLauncher/PrismLauncher.git
synced 2026-06-29 01:54:20 +03:00
Check specifically for GarbageAtEnd error
- Out parameter for garbage data\n- Rename parseUntilMalformed to parseUntilGarbage Signed-off-by: Dylan Schooner <dschooner05@gmail.com>
This commit is contained in:
parent
9c7fe72f9c
commit
51b47050f9
4 changed files with 11 additions and 7 deletions
|
|
@ -101,12 +101,16 @@ QJsonArray requireArray(const QJsonDocument& doc, const QString& what)
|
|||
return doc.array();
|
||||
}
|
||||
|
||||
QJsonDocument parseUntilMalformed(const QByteArray& json, QJsonParseError* error)
|
||||
QJsonDocument parseUntilGarbage(const QByteArray& json, QJsonParseError* error, QString* garbage)
|
||||
{
|
||||
auto doc = QJsonDocument::fromJson(json, error);
|
||||
if (error->error != QJsonParseError::NoError) {
|
||||
QByteArray validJson = json.left(error->offset);
|
||||
if (error->error == QJsonParseError::GarbageAtEnd) {
|
||||
qsizetype offset = error->offset;
|
||||
QByteArray validJson = json.left(offset);
|
||||
doc = QJsonDocument::fromJson(validJson, error);
|
||||
|
||||
if (garbage)
|
||||
*garbage = json.right(json.size() - offset);
|
||||
}
|
||||
|
||||
return doc;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue