Convert fprintf(stderr, ...); exit(EXIT_FAILURE); to qFatal(...)
The serialization conversion example used raw C's way to abort on error; change to using Qt's way of doing the same. Likewise, convert the various other uses of fprintf(stderr, ...) to qWarning() and of printf(...) to qInfo(). Pick-to: 6.5 Task-number: QTBUG-111228 Change-Id: Ia8821d3c20f58f71c106028ec422ad473c11e164 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit 4e20b852bb7726f5f0d53565b18b1cd325297622) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
5c614efcab
commit
ab34aa760c
@ -9,6 +9,7 @@
|
|||||||
#include <QCborStreamWriter>
|
#include <QCborStreamWriter>
|
||||||
#include <QCborValue>
|
#include <QCborValue>
|
||||||
#include <QDataStream>
|
#include <QDataStream>
|
||||||
|
#include <QDebug>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QFloat16>
|
#include <QFloat16>
|
||||||
#include <QMetaType>
|
#include <QMetaType>
|
||||||
@ -178,9 +179,8 @@ void CborDiagnosticDumper::saveFile(QIODevice *f, const QVariant &contents,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "Unknown CBOR diagnostic option '%s'. Available options are:\n%s",
|
qFatal("Unknown CBOR diagnostic option '%s'. Available options are:\n%s",
|
||||||
qPrintable(s), diagnosticHelp);
|
qPrintable(s), diagnosticHelp);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QTextStream out(f);
|
QTextStream out(f);
|
||||||
@ -239,13 +239,12 @@ QVariant CborConverter::loadFile(QIODevice *f, const Converter *&outputConverter
|
|||||||
QCborValue contents = QCborValue::fromCbor(reader);
|
QCborValue contents = QCborValue::fromCbor(reader);
|
||||||
qint64 offset = reader.currentOffset();
|
qint64 offset = reader.currentOffset();
|
||||||
if (reader.lastError()) {
|
if (reader.lastError()) {
|
||||||
fprintf(stderr, "Error loading CBOR contents (byte %lld): %s\n", offset,
|
qFatal().nospace()
|
||||||
qPrintable(reader.lastError().toString()));
|
<< "Error loading CBOR contents (byte " << offset
|
||||||
fprintf(stderr, " bytes: %s\n",
|
<< "): " << reader.lastError().toString()
|
||||||
(ptr ? mapped.mid(offset, 9) : f->read(9)).toHex(' ').constData());
|
<< "\n bytes: " << (ptr ? mapped.mid(offset, 9) : f->read(9));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
} else if (offset < mapped.size() || (!ptr && f->bytesAvailable())) {
|
} else if (offset < mapped.size() || (!ptr && f->bytesAvailable())) {
|
||||||
fprintf(stderr, "Warning: bytes remaining at the end of the CBOR stream\n");
|
qWarning("Warning: bytes remaining at the end of the CBOR stream");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outputConverter == nullptr)
|
if (outputConverter == nullptr)
|
||||||
@ -315,9 +314,8 @@ void CborConverter::saveFile(QIODevice *f, const QVariant &contents, const QStri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "Unknown CBOR format option '%s'. Valid options are:\n%s",
|
qFatal("Unknown CBOR format option '%s'. Valid options are:\n%s",
|
||||||
qPrintable(s), cborOptionHelp);
|
qPrintable(s), cborOptionHelp);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
//! [4]
|
//! [4]
|
||||||
QCborValue v =
|
QCborValue v =
|
||||||
|
@ -79,10 +79,8 @@ QVariant DataStreamConverter::loadFile(QIODevice *f, const Converter *&outputCon
|
|||||||
outputConverter = &debugTextDumper;
|
outputConverter = &debugTextDumper;
|
||||||
|
|
||||||
char c;
|
char c;
|
||||||
if (f->read(sizeof(signature) - 1) != signature || !f->getChar(&c) || (c != 'l' && c != 'B')) {
|
if (f->read(sizeof(signature) - 1) != signature || !f->getChar(&c) || (c != 'l' && c != 'B'))
|
||||||
fprintf(stderr, "Could not load QDataStream file: invalid signature.\n");
|
qFatal("Could not load QDataStream file: invalid signature.");
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
QDataStream ds(f);
|
QDataStream ds(f);
|
||||||
ds.setByteOrder(c == 'l' ? QDataStream::LittleEndian : QDataStream::BigEndian);
|
ds.setByteOrder(c == 'l' ? QDataStream::LittleEndian : QDataStream::BigEndian);
|
||||||
@ -124,15 +122,13 @@ void DataStreamConverter::saveFile(QIODevice *f, const QVariant &contents,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "Invalid version number '%s': must be a number from 1 to %d.\n",
|
qFatal("Invalid version number '%s': must be a number from 1 to %d.",
|
||||||
qPrintable(pair.last()), QDataStream::Qt_DefaultCompiledVersion);
|
qPrintable(pair.last()), QDataStream::Qt_DefaultCompiledVersion);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "Unknown QDataStream formatting option '%s'. Available options are:\n%s",
|
qFatal("Unknown QDataStream formatting option '%s'. Available options are:\n%s",
|
||||||
qPrintable(option), dataStreamOptionHelp);
|
qPrintable(option), dataStreamOptionHelp);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char c = order == QDataStream::LittleEndian ? 'l' : 'B';
|
char c = order == QDataStream::LittleEndian ? 'l' : 'B';
|
||||||
|
@ -18,10 +18,8 @@ static const char jsonOptionHelp[] = "compact=no|yes Use compact JS
|
|||||||
static QJsonDocument convertFromVariant(const QVariant &v)
|
static QJsonDocument convertFromVariant(const QVariant &v)
|
||||||
{
|
{
|
||||||
QJsonDocument doc = QJsonDocument::fromVariant(v);
|
QJsonDocument doc = QJsonDocument::fromVariant(v);
|
||||||
if (!doc.isObject() && !doc.isArray()) {
|
if (!doc.isObject() && !doc.isArray())
|
||||||
fprintf(stderr, "Could not convert contents to JSON.\n");
|
qFatal("Could not convert contents to JSON.");
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
return doc;
|
return doc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,9 +73,8 @@ QVariant JsonConverter::loadFile(QIODevice *f, const Converter *&outputConverter
|
|||||||
if (doc.isNull())
|
if (doc.isNull())
|
||||||
doc = QJsonDocument::fromJson(f->readAll(), &error);
|
doc = QJsonDocument::fromJson(f->readAll(), &error);
|
||||||
if (error.error) {
|
if (error.error) {
|
||||||
fprintf(stderr, "Could not parse JSON content: offset %d: %s",
|
qFatal("Could not parse JSON content: offset %d: %s",
|
||||||
error.offset, qPrintable(error.errorString()));
|
error.offset, qPrintable(error.errorString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
if (outputConverter == null)
|
if (outputConverter == null)
|
||||||
return QVariant();
|
return QVariant();
|
||||||
@ -94,9 +91,8 @@ void JsonConverter::saveFile(QIODevice *f, const QVariant &contents,
|
|||||||
} else if (s == "compact=yes"_L1) {
|
} else if (s == "compact=yes"_L1) {
|
||||||
format = QJsonDocument::Compact;
|
format = QJsonDocument::Compact;
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Unknown option '%s' to JSON output. Valid options are:\n%s",
|
qFatal("Unknown option '%s' to JSON output. Valid options are:\n%s",
|
||||||
qPrintable(s), jsonOptionHelp);
|
qPrintable(s), jsonOptionHelp);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ static const Converter *prepareConverter(QString format, Converter::Direction di
|
|||||||
stream->open(mode);
|
stream->open(mode);
|
||||||
|
|
||||||
if (!stream->isOpen()) {
|
if (!stream->isOpen()) {
|
||||||
fprintf(stderr, "Could not open \"%s\" for %s: %s\n",
|
qFatal("Could not open \"%s\" for %s: %s",
|
||||||
qPrintable(stream->fileName()), dirn, qPrintable(stream->errorString()));
|
qPrintable(stream->fileName()), dirn, qPrintable(stream->errorString()));
|
||||||
} else if (format == "auto"_L1) {
|
} else if (format == "auto"_L1) {
|
||||||
for (const Converter *conv : std::as_const(*availableConverters)) {
|
for (const Converter *conv : std::as_const(*availableConverters)) {
|
||||||
@ -54,21 +54,20 @@ static const Converter *prepareConverter(QString format, Converter::Direction di
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
// Input format, however, we must know before we can call that:
|
// Input format, however, we must know before we can call that:
|
||||||
fprintf(stderr, "Could not determine input format. Specify it with the -I option.\n");
|
qFatal("Could not determine input format. Specify it with the -I option.");
|
||||||
} else {
|
} else {
|
||||||
for (const Converter *conv : std::as_const(*availableConverters)) {
|
for (const Converter *conv : std::as_const(*availableConverters)) {
|
||||||
if (conv->name() == format) {
|
if (conv->name() == format) {
|
||||||
if (!conv->directions().testFlag(direction)) {
|
if (!conv->directions().testFlag(direction)) {
|
||||||
fprintf(stderr, "File format \"%s\" cannot be used for %s\n",
|
qWarning("File format \"%s\" cannot be used for %s",
|
||||||
qPrintable(format), dirn);
|
qPrintable(format), dirn);
|
||||||
continue; // on the off chance there's another with the same name
|
continue; // on the off chance there's another with the same name
|
||||||
}
|
}
|
||||||
return conv;
|
return conv;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fprintf(stderr, "Unknown %s file format \"%s\"\n", dirn, qPrintable(format));
|
qFatal("Unknown %s file format \"%s\"", dirn, qPrintable(format));
|
||||||
}
|
}
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
Q_UNREACHABLE_RETURN(nullptr);
|
Q_UNREACHABLE_RETURN(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,17 +134,16 @@ int main(int argc, char *argv[])
|
|||||||
if (conv->name() == format) {
|
if (conv->name() == format) {
|
||||||
const char *help = conv->optionsHelp();
|
const char *help = conv->optionsHelp();
|
||||||
if (help) {
|
if (help) {
|
||||||
printf("The following options are available for format '%s':\n\n%s",
|
qInfo("The following options are available for format '%s':\n\n%s",
|
||||||
qPrintable(format), help);
|
qPrintable(format), help);
|
||||||
} else {
|
} else {
|
||||||
printf("Format '%s' supports no options.\n", qPrintable(format));
|
qInfo("Format '%s' supports no options.", qPrintable(format));
|
||||||
}
|
}
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "Unknown file format '%s'\n", qPrintable(format));
|
qFatal("Unknown file format '%s'", qPrintable(format));
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList files = parser.positionalArguments();
|
QStringList files = parser.positionalArguments();
|
||||||
|
@ -46,9 +46,8 @@ void NullConverter::saveFile(QIODevice *f, const QVariant &contents,
|
|||||||
const QStringList &options) const
|
const QStringList &options) const
|
||||||
{
|
{
|
||||||
if (!options.isEmpty()) {
|
if (!options.isEmpty()) {
|
||||||
fprintf(stderr, "Unknown option '%s' to null output. This format has no options.\n",
|
qFatal("Unknown option '%s' to null output. This format has no options.",
|
||||||
qPrintable(options.first()));
|
qPrintable(options.first()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_UNUSED(f);
|
Q_UNUSED(f);
|
||||||
|
@ -98,9 +98,8 @@ void TextConverter::saveFile(QIODevice *f, const QVariant &contents,
|
|||||||
const QStringList &options) const
|
const QStringList &options) const
|
||||||
{
|
{
|
||||||
if (!options.isEmpty()) {
|
if (!options.isEmpty()) {
|
||||||
fprintf(stderr, "Unknown option '%s' to text output. This format has no options.\n",
|
qFatal("Unknown option '%s' to text output. This format has no options.",
|
||||||
qPrintable(options.first()));
|
qPrintable(options.first()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QTextStream out(f);
|
QTextStream out(f);
|
||||||
|
@ -48,9 +48,8 @@ static QVariantList listFromXml(QXmlStreamReader &xml, Converter::Options option
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML %s '%s'.\n", xml.lineNumber(), xml.columnNumber(),
|
qFatal("%lld:%lld: Invalid XML %s '%s'.", xml.lineNumber(), xml.columnNumber(),
|
||||||
qPrintable(xml.tokenString()), qPrintable(xml.name().toString()));
|
qPrintable(xml.tokenString()), qPrintable(xml.name().toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
@ -90,9 +89,8 @@ static VariantOrderedMap::value_type mapEntryFromXml(QXmlStreamReader &xml,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML %s '%s'.\n", xml.lineNumber(), xml.columnNumber(),
|
qFatal("%lld:%lld: Invalid XML %s '%s'.", xml.lineNumber(), xml.columnNumber(),
|
||||||
qPrintable(xml.tokenString()), qPrintable(xml.name().toString()));
|
qPrintable(xml.tokenString()), qPrintable(xml.name().toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return { key, value };
|
return { key, value };
|
||||||
@ -134,9 +132,8 @@ static QVariant mapFromXml(QXmlStreamReader &xml, Converter::Options options)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML %s '%s'.\n", xml.lineNumber(), xml.columnNumber(),
|
qFatal("%lld:%lld: Invalid XML %s '%s'.", xml.lineNumber(), xml.columnNumber(),
|
||||||
qPrintable(xml.tokenString()), qPrintable(xml.name().toString()));
|
qPrintable(xml.tokenString()), qPrintable(xml.name().toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
@ -153,9 +150,8 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
if (name == "map"_L1)
|
if (name == "map"_L1)
|
||||||
return mapFromXml(xml, options);
|
return mapFromXml(xml, options);
|
||||||
if (name != "value"_L1) {
|
if (name != "value"_L1) {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML key '%s'.\n",
|
qFatal("%lld:%lld: Invalid XML key '%s'.",
|
||||||
xml.lineNumber(), xml.columnNumber(), qPrintable(name.toString()));
|
xml.lineNumber(), xml.columnNumber(), qPrintable(name.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QXmlStreamAttributes attrs = xml.attributes();
|
QXmlStreamAttributes attrs = xml.attributes();
|
||||||
@ -168,9 +164,8 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
if (xml.isCDATA() || xml.isCharacters() || xml.isEndElement())
|
if (xml.isCDATA() || xml.isCharacters() || xml.isEndElement())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML %s '%s'.\n", xml.lineNumber(), xml.columnNumber(),
|
qFatal("%lld:%lld: Invalid XML %s '%s'.", xml.lineNumber(), xml.columnNumber(),
|
||||||
qPrintable(xml.tokenString()), qPrintable(name.toString()));
|
qPrintable(xml.tokenString()), qPrintable(name.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringView text = xml.text();
|
QStringView text = xml.text();
|
||||||
@ -190,9 +185,8 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
// let's see floating point
|
// let's see floating point
|
||||||
double d = text.toDouble(&ok);
|
double d = text.toDouble(&ok);
|
||||||
if (!ok) {
|
if (!ok) {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML: could not interpret '%s' as a number.\n",
|
qFatal("%lld:%lld: Invalid XML: could not interpret '%s' as a number.",
|
||||||
xml.lineNumber(), xml.columnNumber(), qPrintable(text.toString()));
|
xml.lineNumber(), xml.columnNumber(), qPrintable(text.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
result = d;
|
result = d;
|
||||||
}
|
}
|
||||||
@ -206,9 +200,8 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
} else if (encoding.isEmpty() || encoding == "base64"_L1) {
|
} else if (encoding.isEmpty() || encoding == "base64"_L1) {
|
||||||
result = QByteArray::fromBase64(data);
|
result = QByteArray::fromBase64(data);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML: unknown encoding '%s' for bytes.\n",
|
qFatal("%lld:%lld: Invalid XML: unknown encoding '%s' for bytes.",
|
||||||
xml.lineNumber(), xml.columnNumber(), qPrintable(encoding.toString()));
|
xml.lineNumber(), xml.columnNumber(), qPrintable(encoding.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
} else if (type == "string"_L1) {
|
} else if (type == "string"_L1) {
|
||||||
result = text.toString();
|
result = text.toString();
|
||||||
@ -227,9 +220,8 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
} else if (c == '0') {
|
} else if (c == '0') {
|
||||||
++n;
|
++n;
|
||||||
} else if (!c.isSpace()) {
|
} else if (!c.isSpace()) {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML: invalid bit string '%s'.\n",
|
qFatal("%lld:%lld: Invalid XML: invalid bit string '%s'.",
|
||||||
xml.lineNumber(), xml.columnNumber(), qPrintable(text.toString()));
|
xml.lineNumber(), xml.columnNumber(), qPrintable(text.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ba.resize(n);
|
ba.resize(n);
|
||||||
@ -247,16 +239,14 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
else
|
else
|
||||||
id = QMetaType::fromName(type.toLatin1()).id();
|
id = QMetaType::fromName(type.toLatin1()).id();
|
||||||
if (id == QMetaType::UnknownType) {
|
if (id == QMetaType::UnknownType) {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML: unknown type '%s'.\n",
|
qFatal("%lld:%lld: Invalid XML: unknown type '%s'.",
|
||||||
xml.lineNumber(), xml.columnNumber(), qPrintable(type.toString()));
|
xml.lineNumber(), xml.columnNumber(), qPrintable(type.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
result = text.toString();
|
result = text.toString();
|
||||||
if (!result.convert(QMetaType(id))) {
|
if (!result.convert(QMetaType(id))) {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML: could not parse content as type '%s'.\n",
|
qFatal("%lld:%lld: Invalid XML: could not parse content as type '%s'.",
|
||||||
xml.lineNumber(), xml.columnNumber(), qPrintable(type.toString()));
|
xml.lineNumber(), xml.columnNumber(), qPrintable(type.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -265,9 +255,8 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
} while (xml.isComment() || xml.isWhitespace());
|
} while (xml.isComment() || xml.isWhitespace());
|
||||||
|
|
||||||
if (!xml.isEndElement()) {
|
if (!xml.isEndElement()) {
|
||||||
fprintf(stderr, "%lld:%lld: Invalid XML %s '%s'.\n", xml.lineNumber(), xml.columnNumber(),
|
qFatal("%lld:%lld: Invalid XML %s '%s'.", xml.lineNumber(), xml.columnNumber(),
|
||||||
qPrintable(xml.tokenString()), qPrintable(name.toString()));
|
qPrintable(xml.tokenString()), qPrintable(name.toString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
@ -387,8 +376,7 @@ static void variantToXml(QXmlStreamWriter &xml, const QVariant &v)
|
|||||||
xml.writeAttribute(typeString, QString::fromLatin1(typeName));
|
xml.writeAttribute(typeString, QString::fromLatin1(typeName));
|
||||||
xml.writeCharacters(copy.toString());
|
xml.writeCharacters(copy.toString());
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "XML: don't know how to serialize type '%s'.\n", typeName);
|
qFatal("XML: don't know how to serialize type '%s'.", typeName);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -434,10 +422,8 @@ QVariant XmlConverter::loadFile(QIODevice *f, const Converter *&outputConverter)
|
|||||||
QXmlStreamReader xml(f);
|
QXmlStreamReader xml(f);
|
||||||
xml.readNextStartElement();
|
xml.readNextStartElement();
|
||||||
QVariant v = variantFromXml(xml, outputConverter->outputOptions());
|
QVariant v = variantFromXml(xml, outputConverter->outputOptions());
|
||||||
if (xml.hasError()) {
|
if (xml.hasError())
|
||||||
fprintf(stderr, "XML error: %s", qPrintable(xml.errorString()));
|
qFatal("XML error: %s", qPrintable(xml.errorString()));
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
@ -452,9 +438,8 @@ void XmlConverter::saveFile(QIODevice *f, const QVariant &contents,
|
|||||||
} else if (s == "compact=yes"_L1) {
|
} else if (s == "compact=yes"_L1) {
|
||||||
compact = true;
|
compact = true;
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "Unknown option '%s' to XML output. Valid options are:\n%s",
|
qFatal("Unknown option '%s' to XML output. Valid options are:\n%s",
|
||||||
qPrintable(s), xmlOptionHelp);
|
qPrintable(s), xmlOptionHelp);
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user