Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/hooks.c @ 1449:a9a1770e4578
Fix a bug introduced in changeset ba706e97d6ec
I mismerged bebebe's patch.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Thu, 27 Mar 2008 23:40:39 +0100 |
parents | 844410b9b4cc |
children | c6ebf66a4f80 |
comparison
equal
deleted
inserted
replaced
1448:844410b9b4cc | 1449:a9a1770e4578 |
---|---|
66 int message_flags = 0; | 66 int message_flags = 0; |
67 guint rtype = ROSTER_TYPE_USER; | 67 guint rtype = ROSTER_TYPE_USER; |
68 char *wmsg = NULL, *bmsg = NULL, *mmsg = NULL; | 68 char *wmsg = NULL, *bmsg = NULL, *mmsg = NULL; |
69 GSList *roster_usr; | 69 GSList *roster_usr; |
70 unsigned mucnicklen = 0; | 70 unsigned mucnicklen = 0; |
71 const char *name = NULL; | 71 const char *ename = NULL; |
72 | 72 |
73 if (encrypted) | 73 if (encrypted) |
74 message_flags |= HBB_PREFIX_PGPCRYPT; | 74 message_flags |= HBB_PREFIX_PGPCRYPT; |
75 | 75 |
76 if (type && !strcmp(type, "groupchat")) { | 76 if (type && !strcmp(type, "groupchat")) { |
201 active_window = TRUE; | 201 active_window = TRUE; |
202 } | 202 } |
203 } | 203 } |
204 | 204 |
205 if (settings_opt_get_int("eventcmd_use_nickname")) | 205 if (settings_opt_get_int("eventcmd_use_nickname")) |
206 name = roster_getname(bjid); | 206 ename = roster_getname(bjid); |
207 | 207 |
208 // External command | 208 // External command |
209 // - We do not call hk_ext_cmd() for history lines in MUC | 209 // - We do not call hk_ext_cmd() for history lines in MUC |
210 // - We do call hk_ext_cmd() for private messages in a room | 210 // - We do call hk_ext_cmd() for private messages in a room |
211 // - We do call hk_ext_cmd() for messages to the current window | 211 // - We do call hk_ext_cmd() for messages to the current window |
212 if (!active_window && ((is_groupchat && !timestamp) || !is_groupchat)) | 212 if (!active_window && ((is_groupchat && !timestamp) || !is_groupchat)) |
213 hk_ext_cmd(name ? name : bjid, (is_groupchat ? 'G' : 'M'), 'R', wmsg); | 213 hk_ext_cmd(ename ? ename : bjid, (is_groupchat ? 'G' : 'M'), 'R', wmsg); |
214 | 214 |
215 // Display the sender in the log window | 215 // Display the sender in the log window |
216 if ((!is_groupchat) && !(message_flags & HBB_PREFIX_ERR) && | 216 if ((!is_groupchat) && !(message_flags & HBB_PREFIX_ERR) && |
217 settings_opt_get_int("log_display_sender")) { | 217 settings_opt_get_int("log_display_sender")) { |
218 const char *name = roster_getname(bjid); | |
218 if (!name) name = ""; | 219 if (!name) name = ""; |
219 scr_LogPrint(LPRINT_NORMAL, "Message received from %s <%s/%s>", | 220 scr_LogPrint(LPRINT_NORMAL, "Message received from %s <%s/%s>", |
220 name, bjid, (resname ? resname : "")); | 221 name, bjid, (resname ? resname : "")); |
221 } | 222 } |
222 | 223 |
291 int st_in_buf; | 292 int st_in_buf; |
292 enum imstatus oldstat; | 293 enum imstatus oldstat; |
293 char *bn = NULL; | 294 char *bn = NULL; |
294 char *logsmsg; | 295 char *logsmsg; |
295 const char *rn = (resname ? resname : ""); | 296 const char *rn = (resname ? resname : ""); |
296 const char *name = NULL; | 297 const char *ename = NULL; |
297 | 298 |
298 if (settings_opt_get_int("eventcmd_use_nickname")) | 299 if (settings_opt_get_int("eventcmd_use_nickname")) |
299 name = roster_getname(bjid); | 300 ename = roster_getname(bjid); |
300 | 301 |
301 st_in_buf = settings_opt_get_int("show_status_in_buffer"); | 302 st_in_buf = settings_opt_get_int("show_status_in_buffer"); |
302 buddy_format = settings_opt_get_int("buddy_format"); | 303 buddy_format = settings_opt_get_int("buddy_format"); |
303 if (buddy_format) { | 304 if (buddy_format) { |
305 const char *name = roster_getname(bjid); | |
304 if (name && strcmp(name, bjid)) { | 306 if (name && strcmp(name, bjid)) { |
305 if (buddy_format == 1) | 307 if (buddy_format == 1) |
306 bn = g_strdup_printf("%s <%s/%s>", name, bjid, rn); | 308 bn = g_strdup_printf("%s <%s/%s>", name, bjid, rn); |
307 else if (buddy_format == 2) | 309 else if (buddy_format == 2) |
308 bn = g_strdup_printf("%s/%s", name, rn); | 310 bn = g_strdup_printf("%s/%s", name, rn); |
341 role_none, affil_none, NULL); | 343 role_none, affil_none, NULL); |
342 buddylist_build(); | 344 buddylist_build(); |
343 scr_DrawRoster(); | 345 scr_DrawRoster(); |
344 hlog_write_status(bjid, timestamp, status, status_msg); | 346 hlog_write_status(bjid, timestamp, status, status_msg); |
345 // External command | 347 // External command |
346 hk_ext_cmd(name ? name : bjid, 'S', imstatus2char[status], NULL); | 348 hk_ext_cmd(ename ? ename : bjid, 'S', imstatus2char[status], NULL); |
347 } | 349 } |
348 | 350 |
349 void hk_mystatuschange(time_t timestamp, enum imstatus old_status, | 351 void hk_mystatuschange(time_t timestamp, enum imstatus old_status, |
350 enum imstatus new_status, const char *msg) | 352 enum imstatus new_status, const char *msg) |
351 { | 353 { |