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 {