diff options
| author | B. Watson <urchlay@slackware.uk> | 2026-03-14 06:15:42 -0400 |
|---|---|---|
| committer | B. Watson <urchlay@slackware.uk> | 2026-03-14 06:15:42 -0400 |
| commit | c71c6f1efbc4366a4fd73e68ec6e4916493b3a72 (patch) | |
| tree | d55737b7f0d5e8f53bbb20c4149af0cc4639271d /src | |
| parent | 46cf314a383fd0015f11801e7ab1412d9d1df7c9 (diff) | |
| download | fujinet-chat-c71c6f1efbc4366a4fd73e68ec6e4916493b3a72.tar.gz | |
Handle 470 "forwarded to another channel".
Diffstat (limited to 'src')
| -rw-r--r-- | src/irc.c | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -368,6 +368,18 @@ static void permute_nick(void) { } } +/* see: https://defs.ircdocs.horse/ */ +static void do_forward_chan(void) { + char s; + + if(msg_argcount > 2 && msg_args[1][0] == '#' && msg_args[2][0] == '#') { + s = scr_getbyname(msg_args[1]); + if(s) + strncpy(scr_names[s], msg_args[2], 31); + } + do_catchall(1); +} + static void do_numeric(void) { unsigned int num = atoi(msg_cmd); @@ -448,6 +460,10 @@ static void do_numeric(void) { scr_eol_active(); break; + case 470: /* aka ERR_LINKCHANNEL, for Unreal and Solanum ircds */ + do_forward_chan(); + break; + default: do_catchall(1); break; |
