Simplify message reference management in Client_send_message_except().
[umurmur.git] / src / channel.c
index 3a5fac02c41ffc70032798e7da3ca49ab870b8d9..346ea44ddfd9699f19da2181b77de2b85aefeab1 100644 (file)
@@ -32,6 +32,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "log.h"
+#include "memory.h"
 #include "list.h"
 #include "client.h"
 #include "channel.h"
@@ -46,10 +47,7 @@ static channel_t *createChannel(int id, const char *name, const char *desc)
 {
        channel_t *ch;
 
-       ch = malloc(sizeof(channel_t));
-       if (ch == NULL)
-               Log_fatal("out of memory");
-       memset(ch, 0, sizeof(channel_t));
+       ch = Memory_safeCalloc(1, sizeof(channel_t));
        ch->id = id;
        ch->name = strdup(name);
        if (desc)
@@ -221,8 +219,8 @@ void Chan_init()
                                          chlink.destination);
                else
                        ch_dst = ch_itr;
-               
-               chl = malloc(sizeof(channellist_t));
+
+               chl = Memory_safeMalloc(1, sizeof(channellist_t));
                chl->chan = ch_dst;
                init_list_entry(&chl->node);
                list_add_tail(&chl->node, &ch_src->channel_links);
@@ -380,7 +378,7 @@ void Chan_buildTreeList(channel_t *ch, struct dlist *head)
        struct dlist *itr;
        channel_t *sub;
 
-       chl = malloc(sizeof(channellist_t));
+       chl = Memory_safeMalloc(1, sizeof(channellist_t));
        chl->chan = ch;
        init_list_entry(&chl->node);
        list_add_tail(&chl->node, head);