comparison mcabber/src/commands.c @ 1416:7f0da8de2a7d

[MUC] Auto-whois doesn't set the new message flag
author Mikael Berthe <mikael@lilotux.net>
date Sat, 19 Jan 2008 16:52:45 +0100
parents 317f8d181626
children f69028ca6296
comparison
equal deleted inserted replaced
1415:317f8d181626 1416:7f0da8de2a7d
2524 gchar rprio; 2524 gchar rprio;
2525 enum imstatus rstatus; 2525 enum imstatus rstatus;
2526 enum imrole role; 2526 enum imrole role;
2527 enum imaffiliation affil; 2527 enum imaffiliation affil;
2528 time_t rst_time; 2528 time_t rst_time;
2529 guint msg_flag = HBB_PREFIX_INFO;
2529 2530
2530 paramlst = split_arg(arg, 1, 0); // nickname 2531 paramlst = split_arg(arg, 1, 0); // nickname
2531 nick = *paramlst; 2532 nick = *paramlst;
2532 2533
2533 if (!nick || !*nick) { 2534 if (!nick || !*nick) {
2540 2541
2541 if (interactive) { 2542 if (interactive) {
2542 // Enter chat mode 2543 // Enter chat mode
2543 scr_set_chatmode(TRUE); 2544 scr_set_chatmode(TRUE);
2544 scr_ShowBuddyWindow(); 2545 scr_ShowBuddyWindow();
2545 } 2546 } else
2547 msg_flag |= HBB_PREFIX_NOFLAG;
2546 2548
2547 bjid = buddy_getjid(bud); 2549 bjid = buddy_getjid(bud);
2548 rstatus = buddy_getstatus(bud, nick); 2550 rstatus = buddy_getstatus(bud, nick);
2549 2551
2550 if (rstatus == offline) { 2552 if (rstatus == offline) {
2564 realjid = buddy_getrjid(bud, nick); 2566 realjid = buddy_getrjid(bud, nick);
2565 2567
2566 buffer = g_new(char, 4096); 2568 buffer = g_new(char, 4096);
2567 2569
2568 snprintf(buffer, 4095, "Whois [%s]", nick); 2570 snprintf(buffer, 4095, "Whois [%s]", nick);
2569 scr_WriteIncomingMessage(bjid, buffer, 0, HBB_PREFIX_INFO, 0); 2571 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag, 0);
2570 snprintf(buffer, 4095, "Status : [%c] %s", imstatus2char[rstatus], 2572 snprintf(buffer, 4095, "Status : [%c] %s", imstatus2char[rstatus],
2571 rst_msg); 2573 rst_msg);
2572 scr_WriteIncomingMessage(bjid, buffer, 2574 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag | HBB_PREFIX_CONT, 0);
2573 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
2574 2575
2575 if (rst_time) { 2576 if (rst_time) {
2576 char tbuf[128]; 2577 char tbuf[128];
2577 2578
2578 strftime(tbuf, sizeof(tbuf), "%Y-%m-%d %H:%M:%S", localtime(&rst_time)); 2579 strftime(tbuf, sizeof(tbuf), "%Y-%m-%d %H:%M:%S", localtime(&rst_time));
2579 snprintf(buffer, 127, "Timestamp: %s", tbuf); 2580 snprintf(buffer, 127, "Timestamp: %s", tbuf);
2580 scr_WriteIncomingMessage(bjid, buffer, 2581 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag | HBB_PREFIX_CONT, 0);
2581 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
2582 } 2582 }
2583 2583
2584 if (realjid) { 2584 if (realjid) {
2585 snprintf(buffer, 4095, "JID : <%s>", realjid); 2585 snprintf(buffer, 4095, "JID : <%s>", realjid);
2586 scr_WriteIncomingMessage(bjid, buffer, 2586 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag | HBB_PREFIX_CONT, 0);
2587 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
2588 } 2587 }
2589 2588
2590 snprintf(buffer, 4095, "Role : %s", strrole[role]); 2589 snprintf(buffer, 4095, "Role : %s", strrole[role]);
2591 scr_WriteIncomingMessage(bjid, buffer, 2590 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag | HBB_PREFIX_CONT, 0);
2592 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
2593 snprintf(buffer, 4095, "Affiliat.: %s", straffil[affil]); 2591 snprintf(buffer, 4095, "Affiliat.: %s", straffil[affil]);
2594 scr_WriteIncomingMessage(bjid, buffer, 2592 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag | HBB_PREFIX_CONT, 0);
2595 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
2596 snprintf(buffer, 4095, "Priority : %d", rprio); 2593 snprintf(buffer, 4095, "Priority : %d", rprio);
2597 scr_WriteIncomingMessage(bjid, buffer, 2594 scr_WriteIncomingMessage(bjid, buffer, 0, msg_flag | HBB_PREFIX_CONT, 0);
2598 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); 2595
2599 2596 scr_WriteIncomingMessage(bjid, "End of WHOIS", 0, msg_flag, 0);
2600 scr_WriteIncomingMessage(bjid, "End of WHOIS", 0, HBB_PREFIX_INFO, 0);
2601 2597
2602 g_free(buffer); 2598 g_free(buffer);
2603 g_free(nick); 2599 g_free(nick);
2604 free_arg_lst(paramlst); 2600 free_arg_lst(paramlst);
2605 } 2601 }