comparison mcabber/src/commands.c @ 650:c2d50b97ced4

MUC: /room {leave,nick,topic} can only be used when inside a room
author Mikael Berthe <mikael@lilotux.net>
date Sat, 07 Jan 2006 01:31:41 +0100
parents c6c41dd2464a
children b243d3b3ff1b
comparison
equal deleted inserted replaced
649:3ad6675caaf1 650:c2d50b97ced4
1474 } 1474 }
1475 1475
1476 static void room_leave(gpointer bud, char *arg) 1476 static void room_leave(gpointer bud, char *arg)
1477 { 1477 {
1478 gchar *roomid, *utf8_nickname; 1478 gchar *roomid, *utf8_nickname;
1479 1479 const char *nickname;
1480 utf8_nickname = to_utf8(buddy_getnickname(bud)); 1480
1481 nickname = buddy_getnickname(bud);
1482 if (!nickname) {
1483 scr_LogPrint(LPRINT_NORMAL, "You are not in this room");
1484 return;
1485 }
1486
1487 utf8_nickname = to_utf8(nickname);
1481 roomid = g_strdup_printf("%s/%s", buddy_getjid(bud), utf8_nickname); 1488 roomid = g_strdup_printf("%s/%s", buddy_getjid(bud), utf8_nickname);
1482 jb_setstatus(offline, roomid, arg); 1489 jb_setstatus(offline, roomid, arg);
1483 g_free(utf8_nickname); 1490 g_free(utf8_nickname);
1484 g_free(roomid); 1491 g_free(roomid);
1485 } 1492 }
1486 1493
1487 static void room_nick(gpointer bud, char *arg) 1494 static void room_nick(gpointer bud, char *arg)
1488 { 1495 {
1496 if (!buddy_getinsideroom(bud)) {
1497 scr_LogPrint(LPRINT_NORMAL, "You are not in this room");
1498 return;
1499 }
1500
1489 if (!arg || !*arg) { 1501 if (!arg || !*arg) {
1490 const char *nick = buddy_getnickname(bud); 1502 const char *nick = buddy_getnickname(bud);
1491 if (nick) 1503 if (nick)
1492 scr_LogPrint(LPRINT_NORMAL, "Your nickname is: %s", nick); 1504 scr_LogPrint(LPRINT_NORMAL, "Your nickname is: %s", nick);
1493 else 1505 else
1541 } 1553 }
1542 1554
1543 static void room_topic(gpointer bud, char *arg) 1555 static void room_topic(gpointer bud, char *arg)
1544 { 1556 {
1545 gchar *msg; 1557 gchar *msg;
1558
1559 if (!buddy_getinsideroom(bud)) {
1560 scr_LogPrint(LPRINT_NORMAL, "You are not in this room");
1561 return;
1562 }
1546 1563
1547 // If no parameter is given, display the current topic 1564 // If no parameter is given, display the current topic
1548 if (!*arg) { 1565 if (!*arg) {
1549 const char *topic = buddy_gettopic(bud); 1566 const char *topic = buddy_gettopic(bud);
1550 if (topic) 1567 if (topic)