From 2294b3a2cd398ce8795be0f020818abde4ae4c39 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 30 Jan 2014 12:14:28 -0800 Subject: [PATCH 1/2] use a proper string list in DataServer for values --- data-server/src/DataServer.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/data-server/src/DataServer.cpp b/data-server/src/DataServer.cpp index 98b3f9c298..48462040d5 100644 --- a/data-server/src/DataServer.cpp +++ b/data-server/src/DataServer.cpp @@ -152,7 +152,7 @@ void DataServer::readPendingDatagrams() { sendPacketStream << keyListString; QStringList keyList = keyListString.split(MULTI_KEY_VALUE_SEPARATOR); - QString valueList; + QStringList valueList; foreach (const QString& dataKey, keyList) { qDebug("Sending command to redis: GET uuid:%s:%s", @@ -164,21 +164,17 @@ void DataServer::readPendingDatagrams() { if (reply->len) { // copy the value that redis returned - valueList.append(reply->str); + valueList << reply->str; } else { // didn't find a value - insert a space - valueList.append(' '); + valueList << QChar(' '); } - // add the multi-value separator - valueList.append(MULTI_KEY_VALUE_SEPARATOR); - freeReplyObject(reply); } - // null terminate the packet we're sending back (erases the trailing separator) - valueList[valueList.size() - 1] = '\0'; - sendPacketStream << valueList; + // append the value QStringList using the right separator + sendPacketStream << valueList.join(MULTI_KEY_VALUE_SEPARATOR); } else { // user was asking for their UUID sendPacketStream << userString; From ac780df8a63be17a705bb88f85a83fa6ff0bce92 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 30 Jan 2014 12:44:43 -0800 Subject: [PATCH 2/2] fix appending of QString value to valueList --- data-server/src/DataServer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-server/src/DataServer.cpp b/data-server/src/DataServer.cpp index 48462040d5..43fc52fb06 100644 --- a/data-server/src/DataServer.cpp +++ b/data-server/src/DataServer.cpp @@ -164,7 +164,7 @@ void DataServer::readPendingDatagrams() { if (reply->len) { // copy the value that redis returned - valueList << reply->str; + valueList << QString(reply->str); } else { // didn't find a value - insert a space valueList << QChar(' ');