diff options
| author | B. Watson <urchlay@slackware.uk> | 2026-03-10 00:05:02 -0400 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2026-03-10 00:05:15 -0400 |
| commit | 2f21821ae83c9ddaa464c8a1b06be3c4a0a81020 (patch) | |
| tree | 307ace1d99ebd2bdf045e8b802e81148a385be81 /src/cmd.c | |
| parent | 705bc7fa9068ef576b23c813abb193a44cff5bcd (diff) | |
| download | fujinet-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.c | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -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(); |
