--- a/mcabber/src/commands.c Sat Jan 07 01:15:04 2006 +0100
+++ b/mcabber/src/commands.c Sat Jan 07 01:31:41 2006 +0100
@@ -1476,8 +1476,15 @@
static void room_leave(gpointer bud, char *arg)
{
gchar *roomid, *utf8_nickname;
+ const char *nickname;
- utf8_nickname = to_utf8(buddy_getnickname(bud));
+ nickname = buddy_getnickname(bud);
+ if (!nickname) {
+ scr_LogPrint(LPRINT_NORMAL, "You are not in this room");
+ return;
+ }
+
+ utf8_nickname = to_utf8(nickname);
roomid = g_strdup_printf("%s/%s", buddy_getjid(bud), utf8_nickname);
jb_setstatus(offline, roomid, arg);
g_free(utf8_nickname);
@@ -1486,6 +1493,11 @@
static void room_nick(gpointer bud, char *arg)
{
+ if (!buddy_getinsideroom(bud)) {
+ scr_LogPrint(LPRINT_NORMAL, "You are not in this room");
+ return;
+ }
+
if (!arg || !*arg) {
const char *nick = buddy_getnickname(bud);
if (nick)
@@ -1544,6 +1556,11 @@
{
gchar *msg;
+ if (!buddy_getinsideroom(bud)) {
+ scr_LogPrint(LPRINT_NORMAL, "You are not in this room");
+ return;
+ }
+
// If no parameter is given, display the current topic
if (!*arg) {
const char *topic = buddy_gettopic(bud);