aboutsummaryrefslogtreecommitdiff
path: root/src/ClientSubscribe.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-01-03 18:07:48 +0100
committerMax Kellermann <max@duempel.org>2013-01-03 18:07:48 +0100
commit59400d38a99ac8ffbfd7d89e021ed2f56ffbfd23 (patch)
tree58d15f2651250942d8ff46fd1a43520168e33595 /src/ClientSubscribe.cxx
parent5155b0f6087b5929838f6594a719011e3e704244 (diff)
Client: use std::deque for messages
Diffstat (limited to 'src/ClientSubscribe.cxx')
-rw-r--r--src/ClientSubscribe.cxx20
1 files changed, 3 insertions, 17 deletions
diff --git a/src/ClientSubscribe.cxx b/src/ClientSubscribe.cxx
index 4f147147..a1ad6e68 100644
--- a/src/ClientSubscribe.cxx
+++ b/src/ClientSubscribe.cxx
@@ -83,27 +83,13 @@ client_push_message(Client *client, const ClientMessage &msg)
{
assert(client != NULL);
- if (client->num_messages >= CLIENT_MAX_MESSAGES ||
+ if (client->messages.size() >= CLIENT_MAX_MESSAGES ||
!client->IsSubscribed(msg.GetChannel()))
return false;
- if (client->messages == NULL)
+ if (client->messages.empty())
client_idle_add(client, IDLE_MESSAGE);
- client->messages = g_slist_prepend(client->messages,
- new ClientMessage(msg));
- ++client->num_messages;
-
+ client->messages.push_back(msg);
return true;
}
-
-GSList *
-client_read_messages(Client *client)
-{
- GSList *messages = g_slist_reverse(client->messages);
-
- client->messages = NULL;
- client->num_messages = 0;
-
- return messages;
-}