Make Client_textmessage() take a const char pointer.
[umurmur.git] / src / client.c
index d61de2b00a0297adda0f300a2ed750395998bac4..240700e1253f1c270a6239c050289714dcbc8f70 100644 (file)
@@ -664,20 +664,24 @@ client_t *Client_iterate(client_t **client_itr)
        return c;
 }
 
-void Client_textmessage(client_t *client, char *text)
+void Client_textmessage(client_t *client, const char *text)
 {
        char *message;
        uint32_t *tree_id;
        message_t *sendmsg = NULL;
 
-       message = Memory_safeMalloc(1, strlen(text) + 1);
+       message = strdup(text);
+
+       if (message == NULL)
+               Log_fatal("Out of memory");
+
        tree_id = Memory_safeMalloc(1, sizeof(uint32_t));
        *tree_id = 0;
        sendmsg = Msg_create(TextMessage);
        sendmsg->payload.textMessage->message = message;
        sendmsg->payload.textMessage->n_tree_id = 1;
        sendmsg->payload.textMessage->tree_id = tree_id;
-       strcpy(message, text);
+
        Client_send_message(client, sendmsg);
 }
 
@@ -979,7 +983,7 @@ int Client_voiceMsg(client_t *client, uint8_t *data, int len)
                }
                /* Sessions */
                for (i = 0; i < TARGET_MAX_SESSIONS && vt->sessions[i] != -1; i++) {
-                       client_t *c;
+                       client_t *c = NULL;
                        buffer[0] = (uint8_t) (type | 2);
                        Log_debug("Whisper session %d", vt->sessions[i]);
                        while (Client_iterate(&c) != NULL) {