diff -r 4bc4b739f6e0 -r e556b44f5bd8 QTfrontend/game.cpp --- a/QTfrontend/game.cpp Tue Sep 04 12:16:36 2012 +0400 +++ b/QTfrontend/game.cpp Tue Sep 04 12:25:55 2012 +0400 @@ -431,7 +431,7 @@ RawSendIPC(buf); } -void HWGame::sendCampaignVar(QByteArray varToSend) +void HWGame::sendCampaignVar(const QByteArray &varToSend) { QString varToFind(varToSend); QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + campaignTeam + ".hwt", QSettings::IniFormat, 0); @@ -442,22 +442,14 @@ RawSendIPC(command); } -void HWGame::writeCampaignVar(QByteArray varVal) +void HWGame::writeCampaignVar(const QByteArray & varVal) { - QString varToWrite(""); - QString varValue(""); - unsigned int i = 0; - while (i < varVal.size() && varVal.at(i) != ' ') - { - varToWrite.append(varVal.at(i)); - i++; - } - i++; - while (i < varVal.size() && varVal.at(i) != '\0') - { - varValue.append(varVal.at(i)); - i++; - } + int i = varVal.indexOf(" "); + if(i < 0) + return; + + QString varToWrite = QString::fromUtf8(varVal.left(i)); + QString varValue = QString::fromUtf8(varVal.mid(i + 1)); QSettings teamfile(cfgdir->absolutePath() + "/Teams/" + campaignTeam + ".hwt", QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8");