Remove casts made unneeded by the previous changeset.
[umurmur.git] / src / client.c
index 579a1b66ed1f694223f4805cbd897e4cc99791ac..961bee8a86a579c1f82f4665da80e8384bd74e8a 100644 (file)
@@ -224,8 +224,7 @@ void recheckCodecVersions(client_t *connectingClient)
                                }
                        }
                        if (!found) {
-                               cd = Memory_safeMalloc(1, sizeof(codec_t));
-                               memset(cd, 0, sizeof(codec_t));
+                               cd = Memory_safeCalloc(1, sizeof(codec_t));
                                init_list_entry(&cd->node);
                                cd->codec = codec_itr->codec;
                                cd->count = 1;
@@ -400,16 +399,12 @@ void Client_free(client_t *client)
                SSLi_free(client->ssl);
        close(client->tcpfd);
        clientcount--;
-       if (client->release)
-               free(client->release);
-       if (client->os)
-               free(client->os);
-       if (client->os_version)
-               free(client->os_version);
-       if (client->username)
-               free(client->username);
-       if (client->context)
-               free(client->context);
+
+       free(client->release);
+       free(client->os);
+       free(client->os_version);
+       free(client->username);
+       free(client->context);
        free(client);
 
        if (authenticatedLeft)
@@ -684,22 +679,15 @@ void Client_textmessage(client_t *client, char *text)
 int Client_send_message_except(client_t *client, message_t *msg)
 {
        client_t *itr = NULL;
-       int count = 0;
 
-       Msg_inc_ref(msg); /* Make sure a reference is held during the whole iteration. */
        while (Client_iterate(&itr) != NULL) {
                if (itr != client) {
-                       if (count++ > 0)
-                               Msg_inc_ref(msg); /* One extra reference for each new copy */
+                       Msg_inc_ref(msg); /* One extra reference for each new copy */
                        Log_debug("Msg %d to %s refcount %d",  msg->messageType, itr->username, msg->refcount);
                        Client_send_message(itr, msg);
                }
        }
-       Msg_free(msg); /* Free our reference to the message */
-
-       if (count == 0)
-               Msg_free(msg); /* If only 1 client is connected then no message is passed
-                                               * to Client_send_message(). Free it here. */
+       Msg_free(msg); /* Consume caller's reference. */
 
        return 0;
 }
@@ -707,22 +695,15 @@ int Client_send_message_except(client_t *client, message_t *msg)
 int Client_send_message_except_ver(client_t *client, message_t *msg, uint32_t version)
 {
        client_t *itr = NULL;
-       int count = 0;
 
-       Msg_inc_ref(msg); /* Make sure a reference is held during the whole iteration. */
        while (Client_iterate(&itr) != NULL) {
                if (itr != client) {
-                       if (count++ > 0)
-                               Msg_inc_ref(msg); /* One extra reference for each new copy */
+                       Msg_inc_ref(msg); /* One extra reference for each new copy */
                        Log_debug("Msg %d to %s refcount %d",  msg->messageType, itr->username, msg->refcount);
                        Client_send_message_ver(itr, msg, version);
                }
        }
-       Msg_free(msg); /* Free our reference to the message */
-
-       if (count == 0)
-               Msg_free(msg); /* If only 1 client is connected then no message is passed
-                                               * to Client_send_message(). Free it here. */
+       Msg_free(msg); /* Consume caller's reference. */
 
        return 0;
 }
@@ -896,7 +877,7 @@ int Client_voiceMsg(client_t *client, uint8_t *data, int len)
        int offset, packetsize;
        voicetarget_t *vt;
 
-       channel_t *ch = (channel_t *)client->channel;
+       channel_t *ch = client->channel;
        struct dlist *itr;
 
        if (!client->authenticated || client->mute || client->self_mute || ch->silent)