lastmsg/lastmsg.c
changeset 15 d7cced6660a7
parent 13 efe544108ca1
child 18 fb84350decc5
equal deleted inserted replaced
14:e28cfd1d3084 15:d7cced6660a7
    53     gchar *msg;
    53     gchar *msg;
    54 };
    54 };
    55 
    55 
    56 static void do_lastmsg(char *args)
    56 static void do_lastmsg(char *args)
    57 {
    57 {
       
    58   GSList *li;
       
    59 
    58   if (!lastmsg_list) {
    60   if (!lastmsg_list) {
    59     scr_log_print(LPRINT_NORMAL, "You have no new message.");
    61     scr_log_print(LPRINT_NORMAL, "You have no new message.");
    60     return;
    62     return;
    61   }
    63   }
    62 
    64 
    63   for (GSList *li = lastmsg_list; li ; li = g_slist_next(li)) {
    65   for (li = lastmsg_list; li ; li = g_slist_next(li)) {
    64     struct lastm_T *lastm_item = li->data;
    66     struct lastm_T *lastm_item = li->data;
    65     scr_LogPrint(LPRINT_NORMAL, "In <#%s>, \"%s\" said:\n%s",
    67     scr_LogPrint(LPRINT_NORMAL, "In <#%s>, \"%s\" said:\n%s",
    66                  lastm_item->mucname, lastm_item->nickname,
    68                  lastm_item->mucname, lastm_item->nickname,
    67                  lastm_item->msg);
    69                  lastm_item->msg);
    68     g_free(lastm_item->mucname);
    70     g_free(lastm_item->mucname);
   153 }
   155 }
   154 
   156 
   155 /* Uninitialization */
   157 /* Uninitialization */
   156 static void lastmsg_uninit(void)
   158 static void lastmsg_uninit(void)
   157 {
   159 {
       
   160   GSList *li;
       
   161 
   158   /* Unregister command */
   162   /* Unregister command */
   159   cmd_del("lastmsg");
   163   cmd_del("lastmsg");
   160   hk_del_handler(HOOK_POST_MESSAGE_IN, last_message_hid);
   164   hk_del_handler(HOOK_POST_MESSAGE_IN, last_message_hid);
   161   hk_del_handler(HOOK_MY_STATUS_CHANGE, last_status_hid);
   165   hk_del_handler(HOOK_MY_STATUS_CHANGE, last_status_hid);
   162 
   166 
   163   for (GSList *li = lastmsg_list; li ; li = g_slist_next(li)) {
   167   for (li = lastmsg_list; li ; li = g_slist_next(li)) {
   164     struct lastm_T *lastm_item = li->data;
   168     struct lastm_T *lastm_item = li->data;
   165     g_free(lastm_item->mucname);
   169     g_free(lastm_item->mucname);
   166     g_free(lastm_item->nickname);
   170     g_free(lastm_item->nickname);
   167     g_free(lastm_item->msg);
   171     g_free(lastm_item->msg);
   168   }
   172   }