summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-02-10 15:56:40 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2016-02-11 13:59:44 +0000
commit1a7b140eb8f3f03354452c4669aabae2f141b9c8 (patch)
tree35f5d92966427a9488c4b6e3b57cc2f24be9c4ce
parent4db7de9fafb6d4620828ad8ed51c3d22b3efba9f (diff)
String fixes.
- Avoid conversion from QString to QByteArray. - Replace a = a.mid() by a.remove(). - Replace a = a.left() by a.truncate(). - Streamline code extracting an error code. Change-Id: I43c1f04e947632f725bbb86af5abf108b2b02261 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
-rw-r--r--src/activeqt/container/qaxbase.cpp9
-rw-r--r--src/activeqt/container/qaxdump.cpp2
-rw-r--r--src/activeqt/control/qaxserver.cpp7
-rw-r--r--src/activeqt/control/qaxserverbase.cpp10
-rw-r--r--tools/dumpcpp/main.cpp4
-rw-r--r--tools/testcon/invokemethod.cpp2
6 files changed, 16 insertions, 18 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index fb1351e..472e041 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -1403,7 +1403,7 @@ bool QAxBase::initializeRemote(IUnknown** ptr)
at = server.indexOf(QChar::fromLatin1('@'));
if (at != -1) {
user = server.left(at);
- server = server.mid(at+1);
+ server.remove(0, at + 1);
at = user.indexOf(QChar::fromLatin1(':'));
if (at != -1) {
@@ -1413,7 +1413,7 @@ bool QAxBase::initializeRemote(IUnknown** ptr)
at = user.indexOf(QChar::fromLatin1('/'));
if (at != -1) {
domain = user.left(at);
- user = user.mid(at+1);
+ user.remove(0, at + 1);
}
}
@@ -3832,7 +3832,7 @@ bool QAxBase::dynamicCallHelper(const char *name, void *inout, QList<QVariant> &
parse = !varc && normFunction.length() > function.length() + 2;
if (parse) {
QString args = QLatin1String(normFunction);
- args = args.mid(function.length() + 1);
+ args.remove(0, function.length() + 1);
// parse argument string int list of arguments
QString curArg;
const QChar *c = args.unicode();
@@ -4452,7 +4452,8 @@ QVariant QAxBase::asVariant() const
else if (d->ptr)
qvar.setValue(d->ptr);
} else {
- cn = cn.mid(cn.lastIndexOf(':') + 1) + '*';
+ cn.remove(0, cn.lastIndexOf(':') + 1);
+ cn += '*';
QObject *object = qObject();
int typeId = QMetaType::type(cn);
if (typeId == QMetaType::UnknownType)
diff --git a/src/activeqt/container/qaxdump.cpp b/src/activeqt/container/qaxdump.cpp
index db124d4..be22892 100644
--- a/src/activeqt/container/qaxdump.cpp
+++ b/src/activeqt/container/qaxdump.cpp
@@ -113,7 +113,7 @@ static QByteArray toType(const QByteArray &t)
type = "int";
if (type.at(0) == 'Q')
- type = type.mid(1);
+ type.remove(0, 1);
type[0] = toupper(type.at(0));
if (type == "VariantList")
type = "List";
diff --git a/src/activeqt/control/qaxserver.cpp b/src/activeqt/control/qaxserver.cpp
index aec88e6..7ba1515 100644
--- a/src/activeqt/control/qaxserver.cpp
+++ b/src/activeqt/control/qaxserver.cpp
@@ -948,7 +948,7 @@ static HRESULT classIDL(QObject *o, const QMetaObject *mo, const QString &classN
if (i <= qtSlots && ignoreSlots(name))
continue;
- signature = signature.mid(name.length() + 1);
+ signature.remove(0, name.length() + 1);
signature.truncate(signature.length() - 1);
name = renameOverloads(replaceKeyword(name));
if (ignoreSlots(name))
@@ -968,7 +968,8 @@ static HRESULT classIDL(QObject *o, const QMetaObject *mo, const QString &classN
if (!ok)
outBuffer += "\t/****** Slot parameter uses unsupported datatype\n";
- outBuffer += "\t\t[id(" + QString::number(id).toLatin1() + ")] " + type + ' ' + name + '(' + ptype + ");\n";
+ outBuffer += "\t\t[id(" + QByteArray::number(id) + ")] " + type + ' '
+ + name + '(' + ptype + ");\n";
if (!ok)
outBuffer += "\t******/\n";
@@ -1014,7 +1015,7 @@ static HRESULT classIDL(QObject *o, const QMetaObject *mo, const QString &classN
QByteArray signature(signal.methodSignature());
QByteArray name(signature.left(signature.indexOf('(')));
- signature = signature.mid(name.length() + 1);
+ signature.remove(0, name.length() + 1);
signature.truncate(signature.length() - 1);
QList<QByteArray> parameterTypes(signal.parameterTypes());
diff --git a/src/activeqt/control/qaxserverbase.cpp b/src/activeqt/control/qaxserverbase.cpp
index 583cb76..d6af214 100644
--- a/src/activeqt/control/qaxserverbase.cpp
+++ b/src/activeqt/control/qaxserverbase.cpp
@@ -1969,7 +1969,7 @@ int QAxServerBase::qt_metacall(QMetaObject::Call call, int index, void **argv)
}
}
- signature = signature.mid(name.length() + 1);
+ signature.remove(0, name.length() + 1);
signature.truncate(signature.length() - 1);
if (!signature.isEmpty())
@@ -2615,13 +2615,9 @@ HRESULT WINAPI QAxServerBase::Invoke(DISPID dispidMember, REFIID riid,
if (!exception->context.isNull()) {
QString context = exception->context;
int contextID = 0;
- int br = context.indexOf(QLatin1Char('['));
+ const int br = context.indexOf(QLatin1Char('[')); // "error[42]"
if (br != -1) {
- context = context.mid(br+1);
- context.chop(1);
- contextID = context.toInt();
-
- context = exception->context;
+ contextID = context.midRef(br + 1, context.size() - br - 2).toInt();
context.truncate(br-1);
}
pexcepinfo->bstrHelpFile = QStringToBSTR(context);
diff --git a/tools/dumpcpp/main.cpp b/tools/dumpcpp/main.cpp
index c65d5cd..f516fff 100644
--- a/tools/dumpcpp/main.cpp
+++ b/tools/dumpcpp/main.cpp
@@ -414,7 +414,7 @@ void generateClassDecl(QTextStream &out, const QString &controlID, const QMetaOb
if (slotSignature.endsWith("()")) { // no parameters - no names
slotNamedSignature = slotSignature;
} else {
- slotNamedSignature = slotSignature.left(slotSignature.indexOf('(') + 1);
+ slotNamedSignature.truncate(slotSignature.indexOf('(') + 1);
QByteArray slotSignatureTruncated(slotSignature.mid(slotNamedSignature.length()));
slotSignatureTruncated.truncate(slotSignatureTruncated.length() - 1);
@@ -1092,7 +1092,7 @@ bool generateTypeLibrary(QString typeLibFile, QString outname,
QByteArray refTypeLib;
if (refType.contains("::")) {
refTypeLib = refType;
- refType = refType.mid(refType.lastIndexOf("::") + 2);
+ refType.remove(0, refType.lastIndexOf("::") + 2);
if (refTypeLib.contains(' ')) {
refType = refTypeLib.left(refTypeLib.indexOf(' ')) + ' ' + refType;
}
diff --git a/tools/testcon/invokemethod.cpp b/tools/testcon/invokemethod.cpp
index 0f898b1..ec6024c 100644
--- a/tools/testcon/invokemethod.cpp
+++ b/tools/testcon/invokemethod.cpp
@@ -114,7 +114,7 @@ void InvokeMethod::on_comboMethods_activated(const QString &method)
const QMetaObject *mo = activex->metaObject();
const QMetaMethod slot = mo->method(mo->indexOfSlot(method.toLatin1()));
QString signature = QString::fromLatin1(slot.methodSignature());
- signature = signature.mid(signature.indexOf(QLatin1Char('(')) + 1);
+ signature.remove(0, signature.indexOf(QLatin1Char('(')) + 1);
signature.truncate(signature.length()-1);
QList<QByteArray> pnames = slot.parameterNames();