src/protocols/msn/msn.c

changeset 4068
708fd33e08d6
parent 4056
d75ee349aaa4
child 4069
ddddcff3183d
equal deleted inserted replaced
4067:854e6e38e209 4068:708fd33e08d6
437 if (!g_strncasecmp(buf, "ACK", 3)) { 437 if (!g_strncasecmp(buf, "ACK", 3)) {
438 } else if (!g_strncasecmp(buf, "ANS", 3)) { 438 } else if (!g_strncasecmp(buf, "ANS", 3)) {
439 if (ms->chat) 439 if (ms->chat)
440 add_chat_buddy(ms->chat, gc->username, NULL); 440 add_chat_buddy(ms->chat, gc->username, NULL);
441 } else if (!g_strncasecmp(buf, "BYE", 3)) { 441 } else if (!g_strncasecmp(buf, "BYE", 3)) {
442 char *user, *tmp = buf;
443 GET_NEXT(tmp);
444 user = tmp;
445
442 if (ms->chat) { 446 if (ms->chat) {
443 char *user, *tmp = buf;
444 GET_NEXT(tmp);
445 user = tmp;
446 remove_chat_buddy(ms->chat, user, NULL); 447 remove_chat_buddy(ms->chat, user, NULL);
447 } else { 448 } else {
449 char msgbuf[256];
450 struct conversation *cnv;
451
452 g_snprintf(msgbuf, sizeof(msgbuf),
453 _("%s has closed the conversation window"), user);
454
455 if ((cnv = find_conversation(user)))
456 write_to_conv(cnv, msgbuf, WFLAG_SYSTEM, NULL, time(NULL), -1);
457
448 msn_kill_switch(ms); 458 msn_kill_switch(ms);
449 return 0; 459 return 0;
450 } 460 }
451 } else if (!g_strncasecmp(buf, "CAL", 3)) { 461 } else if (!g_strncasecmp(buf, "CAL", 3)) {
452 } else if (!g_strncasecmp(buf, "IRO", 3)) { 462 } else if (!g_strncasecmp(buf, "IRO", 3)) {

mercurial