aboutsummaryrefslogtreecommitdiff
path: root/src/cmd.c
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-03-10 00:05:02 -0400
committerB. Watson <urchlay@slackware.uk>2026-03-10 00:05:15 -0400
commit2f21821ae83c9ddaa464c8a1b06be3c4a0a81020 (patch)
tree307ace1d99ebd2bdf045e8b802e81148a385be81 /src/cmd.c
parent705bc7fa9068ef576b23c813abb193a44cff5bcd (diff)
downloadfujinet-chat-2f21821ae83c9ddaa464c8a1b06be3c4a0a81020.tar.gz
do not allow commas in join, allow /j with no arg to rejoin 'dead' channel.
Diffstat (limited to 'src/cmd.c')
-rw-r--r--src/cmd.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/cmd.c b/src/cmd.c
index 2f5b59e..7b7b96c 100644
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -46,9 +46,9 @@ cmd_t command_defs[] = {
{ "COLOR", do_color, 1 },
{ "CTCP", do_ctcp, 1 },
{ "INFO", do_info, 0 },
- { "J", do_j, 1 },
+ { "J", do_j, 0 },
{ "J1", do_j1, 1 },
- { "JOIN", do_j, 1 },
+ { "JOIN", do_j, 0 },
{ "JOIN1", do_j1, 1 },
{ "LIST", do_list, 1 },
{ "M", do_msg, 1 },
@@ -137,12 +137,31 @@ static char *nextarg(char *arg) {
return 0;
}
+static char have_commas(void) {
+ if(strchr(arg1, ',')) {
+ err_marker();
+ scr_print_current("JOIN doesn't support commas\n");
+ return 1;
+ }
+ return 0;
+}
+
static void do_j1(void) {
+ if(have_commas())
+ return;
txbuf_set_str2("JOIN ", arg1);
txbuf_send();
}
static void do_j(void) {
+ if(!arg1)
+ arg1 = target; /* rejoin channel if window is 'dead' */
+ if(!arg1) {
+ err_no_scr_target();
+ return;
+ }
+ if(have_commas())
+ return;
if(!scr_getbyname(arg1))
scr_create(arg1, 1);
do_j1();