From 4f1b4b1283232904b59d6a44bb6e40281ded4b2c Mon Sep 17 00:00:00 2001 From: RickyRister <42636155+RickyRister@users.noreply.github.com> Date: Wed, 25 Jun 2025 06:20:29 -0700 Subject: [PATCH] Log xml parse errors when loading card database (#6006) --- cockatrice/src/game/cards/card_database.cpp | 5 +++-- .../src/game/cards/card_database_parser/cockatrice_xml_3.cpp | 5 +++++ .../src/game/cards/card_database_parser/cockatrice_xml_4.cpp | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cockatrice/src/game/cards/card_database.cpp b/cockatrice/src/game/cards/card_database.cpp index 504054bbe..5c2c89005 100644 --- a/cockatrice/src/game/cards/card_database.cpp +++ b/cockatrice/src/game/cards/card_database.cpp @@ -245,8 +245,9 @@ LoadStatus CardDatabase::loadCardDatabase(const QString &path) } int msecs = startTime.msecsTo(QTime::currentTime()); - qCInfo(CardDatabaseLoadingLog) << "Path =" << path << "Status =" << tempLoadStatus << "Cards =" << cards.size() - << "Sets =" << sets.size() << QString("%1ms").arg(msecs); + qCInfo(CardDatabaseLoadingLog) << "Loaded card database: Path =" << path << "Status =" << tempLoadStatus + << "Cards =" << cards.size() << "Sets =" << sets.size() + << QString("%1ms").arg(msecs); return tempLoadStatus; } diff --git a/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_3.cpp b/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_3.cpp index 1c0e2c758..bed64b8db 100644 --- a/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_3.cpp +++ b/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_3.cpp @@ -64,6 +64,11 @@ void CockatriceXml3Parser::parseFile(QIODevice &device) } } } + + if (xml.hasError()) { + QString preamble = tr("Parse error at line %1 col %2:").arg(xml.lineNumber()).arg(xml.columnNumber()); + qCWarning(CockatriceXml3Log).noquote() << preamble << xml.errorString(); + } } void CockatriceXml3Parser::loadSetsFromXml(QXmlStreamReader &xml) diff --git a/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_4.cpp b/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_4.cpp index b84f37366..bc3416904 100644 --- a/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_4.cpp +++ b/cockatrice/src/game/cards/card_database_parser/cockatrice_xml_4.cpp @@ -66,6 +66,11 @@ void CockatriceXml4Parser::parseFile(QIODevice &device) } } } + + if (xml.hasError()) { + QString preamble = tr("Parse error at line %1 col %2:").arg(xml.lineNumber()).arg(xml.columnNumber()); + qCWarning(CockatriceXml4Log).noquote() << preamble << xml.errorString(); + } } void CockatriceXml4Parser::loadSetsFromXml(QXmlStreamReader &xml)