Mercurial > hg
comparison mcabber/src/commands.c @ 565:89c347b3e4c1
MUC: Make "/room nick" display the current nickname
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 02 Dec 2005 23:31:46 +0100 |
parents | db019a5f874f |
children | 467fec046a9b |
comparison
equal
deleted
inserted
replaced
564:95d6297a9654 | 565:89c347b3e4c1 |
---|---|
1201 scr_LogPrint(LPRINT_NORMAL, "Invalid room name"); | 1201 scr_LogPrint(LPRINT_NORMAL, "Invalid room name"); |
1202 free_arg_lst(paramlst); | 1202 free_arg_lst(paramlst); |
1203 return; | 1203 return; |
1204 } | 1204 } |
1205 | 1205 |
1206 if (!nick) { | 1206 if (!nick || !*nick) { |
1207 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)"); | 1207 scr_LogPrint(LPRINT_NORMAL, "Missing parameter (nickname)"); |
1208 free_arg_lst(paramlst); | 1208 free_arg_lst(paramlst); |
1209 return; | 1209 return; |
1210 } | 1210 } |
1211 | 1211 |
1259 scr_LogPrint(LPRINT_LOGNORM, "You have left %s", buddy_getjid(bud)); | 1259 scr_LogPrint(LPRINT_LOGNORM, "You have left %s", buddy_getjid(bud)); |
1260 } | 1260 } |
1261 | 1261 |
1262 static void room_nick(gpointer bud, char *arg) | 1262 static void room_nick(gpointer bud, char *arg) |
1263 { | 1263 { |
1264 gchar *cmd; | 1264 if (!arg || !*arg) { |
1265 | 1265 const char *nick = buddy_getnickname(bud); |
1266 cmd = g_strdup_printf("%s %s", buddy_getjid(bud), arg); | 1266 if (nick) |
1267 room_join(bud, cmd); | 1267 scr_LogPrint(LPRINT_NORMAL, "Your nickname is: %s", nick); |
1268 g_free(cmd); | 1268 else |
1269 scr_LogPrint(LPRINT_NORMAL, "You have no nickname"); | |
1270 } else { | |
1271 gchar *cmd; | |
1272 cmd = g_strdup_printf("%s %s", buddy_getjid(bud), arg); | |
1273 room_join(bud, cmd); | |
1274 g_free(cmd); | |
1275 } | |
1269 } | 1276 } |
1270 | 1277 |
1271 static void room_privmsg(gpointer bud, char *arg) | 1278 static void room_privmsg(gpointer bud, char *arg) |
1272 { | 1279 { |
1273 char **paramlst; | 1280 char **paramlst; |
1373 room_leave(bud, arg); | 1380 room_leave(bud, arg); |
1374 } else if (!strcasecmp(subcmd, "names")) { | 1381 } else if (!strcasecmp(subcmd, "names")) { |
1375 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) | 1382 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) |
1376 room_names(bud, arg); | 1383 room_names(bud, arg); |
1377 } else if (!strcasecmp(subcmd, "nick")) { | 1384 } else if (!strcasecmp(subcmd, "nick")) { |
1378 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) | 1385 if ((arg = check_room_subcommand(arg, FALSE, bud)) != NULL) |
1379 room_nick(bud, arg); | 1386 room_nick(bud, arg); |
1380 } else if (!strcasecmp(subcmd, "privmsg")) { | 1387 } else if (!strcasecmp(subcmd, "privmsg")) { |
1381 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) | 1388 if ((arg = check_room_subcommand(arg, TRUE, bud)) != NULL) |
1382 room_privmsg(bud, arg); | 1389 room_privmsg(bud, arg); |
1383 } else if (!strcasecmp(subcmd, "remove")) { | 1390 } else if (!strcasecmp(subcmd, "remove")) { |