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")) {