From dcec1420ea9d7e90bbd7f37be15d8e61eaf35d23 Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Fri, 6 Jan 2017 22:02:50 +0300 Subject: 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 Reviewed-by: Thiago Macieira --- src/dbus/qdbusinternalfilters.cpp | 3 +-- src/dbus/qdbusxmlgenerator.cpp | 11 ++++------- 2 files changed, 5 insertions(+), 9 deletions(-) (limited to 'src/dbus') diff --git a/src/dbus/qdbusinternalfilters.cpp b/src/dbus/qdbusinternalfilters.cpp index 03e04bb2f5..0927f326f2 100644 --- a/src/dbus/qdbusinternalfilters.cpp +++ b/src/dbus/qdbusinternalfilters.cpp @@ -204,8 +204,7 @@ static inline QDBusMessage interfaceNotFoundError(const QDBusMessage &msg, const { return msg.createErrorReply(QDBusError::UnknownInterface, QString::fromLatin1("Interface %1 was not found in object %2") - .arg(interface_name) - .arg(msg.path())); + .arg(interface_name, msg.path())); } static inline QDBusMessage 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(" \n") - .arg(name) - .arg(QLatin1String(signature)) - .arg(isOutput ? QLatin1String("out") : QLatin1String("in")); + xml += QString::asprintf(" \n", + qUtf16Printable(name), signature, isOutput ? "out" : "in"); // do we need to describe this argument? if (QDBusMetaType::signatureToType(signature) == QVariant::Invalid) { -- cgit v1.2.3