# HG changeset patch # User Mikael Berthe # Date 1133562706 -3600 # Node ID 89c347b3e4c19691a6936575aec983cd757c2fe5 # Parent 95d6297a96540ebb3b4827e767c7b1d6349c60ed MUC: Make "/room nick" display the current nickname diff -r 95d6297a9654 -r 89c347b3e4c1 mcabber/src/commands.c --- a/mcabber/src/commands.c Fri Dec 02 23:18:00 2005 +0100 +++ b/mcabber/src/commands.c Fri Dec 02 23:31:46 2005 +0100 @@ -1203,7 +1203,7 @@ return; } - if (!nick) { + if (!nick || !*nick) { scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)"); free_arg_lst(paramlst); return; @@ -1261,11 +1261,18 @@ static void room_nick(gpointer bud, char *arg) { - gchar *cmd; - - cmd = g_strdup_printf("%s %s", buddy_getjid(bud), arg); - room_join(bud, cmd); - g_free(cmd); + if (!arg || !*arg) { + const char *nick = buddy_getnickname(bud); + if (nick) + scr_LogPrint(LPRINT_NORMAL, "Your nickname is: %s", nick); + else + scr_LogPrint(LPRINT_NORMAL, "You have no nickname"); + } else { + gchar *cmd; + cmd = g_strdup_printf("%s %s", buddy_getjid(bud), arg); + room_join(bud, cmd); + g_free(cmd); + } } static void room_privmsg(gpointer bud, char *arg) @@ -1375,7 +1382,7 @@ if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) room_names(bud, arg); } else if (!strcasecmp(subcmd, "nick")) { - if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) + if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) room_nick(bud, arg); } else if (!strcasecmp(subcmd, "privmsg")) { if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL)