SocketAPI: don't trim the command #3297

This commit is contained in:
Olivier Goffart 2015-10-26 10:06:10 +01:00
parent 84f1bdbc87
commit 39289a3164

View file

@ -164,14 +164,15 @@ void SocketApi::slotReadSocket()
Q_ASSERT(socket); Q_ASSERT(socket);
while(socket->canReadLine()) { while(socket->canReadLine()) {
QString line = QString::fromUtf8(socket->readLine()).trimmed(); QString line = QString::fromUtf8(socket->readLine());
QString command = line.split(":").first(); line.chop(1); // remove the '\n'
QString command = line.split(":").value(0);
QString function = QString(QLatin1String("command_")).append(command); QString function = QString(QLatin1String("command_")).append(command);
QString functionWithArguments = function + QLatin1String("(QString,QIODevice*)"); QString functionWithArguments = function + QLatin1String("(QString,QIODevice*)");
int indexOfMethod = this->metaObject()->indexOfMethod(functionWithArguments.toAscii()); int indexOfMethod = this->metaObject()->indexOfMethod(functionWithArguments.toAscii());
QString argument = line.remove(0, command.length()+1).trimmed(); QString argument = line.remove(0, command.length()+1);
if(indexOfMethod != -1) { if(indexOfMethod != -1) {
QMetaObject::invokeMethod(this, function.toAscii(), Q_ARG(QString, argument), Q_ARG(QIODevice*, socket)); QMetaObject::invokeMethod(this, function.toAscii(), Q_ARG(QString, argument), Q_ARG(QIODevice*, socket));
} else { } else {