equal
deleted
inserted
replaced
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 } |