Mercurial > ~mikael > mcabber > hg
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) |