comparison mcabber/src/commands.c @ 575:1b8e024c3a10

Improve /room whois
author Mikael Berthe <mikael@lilotux.net>
date Sun, 04 Dec 2005 00:21:09 +0100
parents afc2bd38b15c
children 8b3db0b555a1
comparison
equal deleted inserted replaced
574:45598263c5b1 575:1b8e024c3a10
1394 { 1394 {
1395 char **paramlst; 1395 char **paramlst;
1396 gchar *nick, *buffer; 1396 gchar *nick, *buffer;
1397 const char *jid, *realjid; 1397 const char *jid, *realjid;
1398 const char *rst_msg; 1398 const char *rst_msg;
1399 gchar rprio;
1399 enum imstatus rstatus; 1400 enum imstatus rstatus;
1400 enum imrole role; 1401 enum imrole role;
1401 enum imaffiliation affil; 1402 enum imaffiliation affil;
1402 1403
1403 char *strroles[] = { "none", "moderator", "participant", "visitor" }; 1404 char *strroles[] = { "none", "moderator", "participant", "visitor" };
1419 scr_LogPrint(LPRINT_NORMAL, "No such member: %s", nick); 1420 scr_LogPrint(LPRINT_NORMAL, "No such member: %s", nick);
1420 free_arg_lst(paramlst); 1421 free_arg_lst(paramlst);
1421 return; 1422 return;
1422 } 1423 }
1423 1424
1425 rprio = buddy_getresourceprio(bud, nick);
1424 rst_msg = buddy_getstatusmsg(bud, nick); 1426 rst_msg = buddy_getstatusmsg(bud, nick);
1425 if (!rst_msg) rst_msg = ""; 1427 if (!rst_msg) rst_msg = "";
1426 1428
1427 role = buddy_getrole(bud, nick); 1429 role = buddy_getrole(bud, nick);
1428 affil = buddy_getaffil(bud, nick); 1430 affil = buddy_getaffil(bud, nick);
1430 1432
1431 buffer = g_new(char, 128); 1433 buffer = g_new(char, 128);
1432 1434
1433 snprintf(buffer, 127, "Whois [%s]", nick); 1435 snprintf(buffer, 127, "Whois [%s]", nick);
1434 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO); 1436 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO);
1435 snprintf(buffer, 127, "Status: [%c] %s", imstatus2char[rstatus], 1437 snprintf(buffer, 127, "Status : [%c] %s", imstatus2char[rstatus],
1436 rst_msg); 1438 rst_msg);
1437 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO); 1439 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO);
1438 1440
1439 if (realjid) { 1441 if (realjid) {
1440 snprintf(buffer, 127, "Real jid: <%s>", realjid); 1442 snprintf(buffer, 127, "JID : <%s>", realjid);
1441 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO); 1443 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO);
1442 } 1444 }
1443 1445
1444 snprintf(buffer, 127, "Role: %s", strroles[role]); 1446 snprintf(buffer, 127, "Role : %s", strroles[role]);
1445 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO); 1447 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO);
1446 snprintf(buffer, 127, "Affiliation: %s", straffil[affil]); 1448 snprintf(buffer, 127, "Affiliat.: %s", straffil[affil]);
1447 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO); 1449 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO);
1450 snprintf(buffer, 127, "Priority : %d", rprio);
1451 scr_WriteIncomingMessage(jid, buffer, 0, HBB_PREFIX_INFO);
1452 scr_WriteIncomingMessage(jid, "End of WHOIS", 0, HBB_PREFIX_INFO);
1448 1453
1449 g_free(buffer); 1454 g_free(buffer);
1450 free_arg_lst(paramlst); 1455 free_arg_lst(paramlst);
1451 } 1456 }
1452 1457