summaryrefslogtreecommitdiff
path: root/src/network/network_command.cpp
diff options
context:
space:
mode:
authorrubidium42 <rubidium@openttd.org>2021-05-29 16:16:51 +0200
committerrubidium42 <rubidium42@users.noreply.github.com>2021-05-29 19:02:18 +0200
commitef991b1772f5f8b4874f76ea715a9a95811ad979 (patch)
tree1eec8f86826d2865bceb31612843dba05f237d86 /src/network/network_command.cpp
parent2e136285e1dfb4435c11769bf7cabb1ec2057e08 (diff)
downloadopenttd-ef991b1772f5f8b4874f76ea715a9a95811ad979.tar.xz
Codechange: [Network] Use std::string in CommandPacket
Diffstat (limited to 'src/network/network_command.cpp')
-rw-r--r--src/network/network_command.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/network/network_command.cpp b/src/network/network_command.cpp
index d41c89272..d43e971ff 100644
--- a/src/network/network_command.cpp
+++ b/src/network/network_command.cpp
@@ -56,7 +56,7 @@ static CommandCallback * const _callback_table[] = {
*/
void CommandQueue::Append(CommandPacket *p)
{
- CommandPacket *add = MallocT<CommandPacket>(1);
+ CommandPacket *add = new CommandPacket();
*add = *p;
add->next = nullptr;
if (this->first == nullptr) {
@@ -113,7 +113,7 @@ void CommandQueue::Free()
{
CommandPacket *cp;
while ((cp = this->Pop()) != nullptr) {
- free(cp);
+ delete cp;
}
assert(this->count == 0);
}
@@ -144,8 +144,7 @@ void NetworkSendCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 cmd, Comman
c.p2 = p2;
c.cmd = cmd;
c.callback = callback;
-
- strecpy(c.text, text.c_str(), lastof(c.text));
+ c.text = text;
if (_network_server) {
/* If we are the server, we queue the command in our 'special' queue.
@@ -212,7 +211,7 @@ void NetworkExecuteLocalCommandQueue()
DoCommandP(cp, cp->my_cmd);
queue.Pop();
- free(cp);
+ delete cp;
}
/* Local company may have changed, so we should not restore the old value */
@@ -271,7 +270,7 @@ static void DistributeQueue(CommandQueue *queue, const NetworkClientSocket *owne
while (--to_go >= 0 && (cp = queue->Pop(true)) != nullptr) {
DistributeCommandPacket(*cp, owner);
NetworkAdminCmdLogging(owner, cp);
- free(cp);
+ delete cp;
}
}
@@ -304,7 +303,7 @@ const char *NetworkGameSocketHandler::ReceiveCommand(Packet *p, CommandPacket *c
cp->p1 = p->Recv_uint32();
cp->p2 = p->Recv_uint32();
cp->tile = p->Recv_uint32();
- p->Recv_string(cp->text, lengthof(cp->text), (!_network_server && GetCommandFlags(cp->cmd) & CMD_STR_CTRL) != 0 ? SVS_ALLOW_CONTROL_CODE | SVS_REPLACE_WITH_QUESTION_MARK : SVS_REPLACE_WITH_QUESTION_MARK);
+ cp->text = p->Recv_string(NETWORK_COMPANY_NAME_LENGTH, (!_network_server && GetCommandFlags(cp->cmd) & CMD_STR_CTRL) != 0 ? SVS_ALLOW_CONTROL_CODE | SVS_REPLACE_WITH_QUESTION_MARK : SVS_REPLACE_WITH_QUESTION_MARK);
byte callback = p->Recv_uint8();
if (callback >= lengthof(_callback_table)) return "invalid callback";