From c71c6f1efbc4366a4fd73e68ec6e4916493b3a72 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 14 Mar 2026 06:15:42 -0400 Subject: Handle 470 "forwarded to another channel". --- src/irc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/irc.c b/src/irc.c index e185350..7464dd9 100644 --- a/src/irc.c +++ b/src/irc.c @@ -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; -- cgit v1.2.3