diff options
author | Alexander Volkov <a.volkov@rusbitech.ru> | 2017-01-06 22:02:50 +0300 |
---|---|---|
committer | Alexander Volkov <a.volkov@rusbitech.ru> | 2017-01-12 17:54:28 +0000 |
commit | dcec1420ea9d7e90bbd7f37be15d8e61eaf35d23 (patch) | |
tree | 950020aadfc183963a5668263ef302d8d6b0e6de /src/dbus/qdbusxmlgenerator.cpp | |
parent | 8f469e4a19feb77758fb5d3c7120ba93cf32cd7d (diff) | |
download | qtbase-dcec1420ea9d7e90bbd7f37be15d8e61eaf35d23.tar.gz |
Use QString::asprintf(), QStringBuilder, and the multi-arg overload of QString::arg()
... instead of sequential .arg(const QString &) callings.
It saves memory allocations and prevents unexpected results
if replacing strings contain place markers.
Found with clazy's qstring-arg check.
Change-Id: I3912275a6e11c6fb7559ff5623f2e8cde9b7f07a
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/dbus/qdbusxmlgenerator.cpp')
-rw-r--r-- | src/dbus/qdbusxmlgenerator.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp index d239a69f73..e3c503aa0f 100644 --- a/src/dbus/qdbusxmlgenerator.cpp +++ b/src/dbus/qdbusxmlgenerator.cpp @@ -149,9 +149,8 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method if (!isScriptable && !(flags & (isSignal ? QDBusConnection::ExportNonScriptableSignals : QDBusConnection::ExportNonScriptableInvokables | QDBusConnection::ExportNonScriptableSlots))) continue; - QString xml = QString::fromLatin1(" <%1 name=\"%2\">\n") - .arg(isSignal ? QLatin1String("signal") : QLatin1String("method")) - .arg(QString::fromLatin1(mm.name())); + QString xml = QString::asprintf(" <%s name=\"%s\">\n", + isSignal ? "signal" : "method", mm.name().constData()); // check the return type first int typeId = mm.returnType(); @@ -205,10 +204,8 @@ static QString generateInterfaceXml(const QMetaObject *mo, int flags, int method bool isOutput = isSignal || j > inputCount; const char *signature = QDBusMetaType::typeToSignature(types.at(j)); - xml += QString::fromLatin1(" <arg %1type=\"%2\" direction=\"%3\"/>\n") - .arg(name) - .arg(QLatin1String(signature)) - .arg(isOutput ? QLatin1String("out") : QLatin1String("in")); + xml += QString::asprintf(" <arg %lstype=\"%s\" direction=\"%s\"/>\n", + qUtf16Printable(name), signature, isOutput ? "out" : "in"); // do we need to describe this argument? if (QDBusMetaType::signatureToType(signature) == QVariant::Invalid) { |