From 7dfc8e8ee8f5355429763eac70fe694bf947eca3 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 31 Aug 2010 17:53:39 -0400 Subject: Fixed do_sjoin to properly find the server source on TS6 IRCds --- src/channels.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/channels.c b/src/channels.c index 041468d9e..55079b2a3 100644 --- a/src/channels.c +++ b/src/channels.c @@ -794,7 +794,7 @@ void do_sjoin(const char *source, int ac, char **av) { Channel *c; User *user; - Server *serv; + Server *serv = NULL; struct c_userlist *cu; char *s = NULL; char *end, cubuf[7], *end2, *cumodes[6], *buf; @@ -803,7 +803,10 @@ void do_sjoin(const char *source, int ac, char **av) int is_created = 0; int keep_their_modes = 1; - serv = findserver(servlist, source); + if (UseTS6 && ircd->ts6) + serv = findserver_uid(servlist, source); + if (!serv) + serv = findserver(servlist, source); if (ircd->sjb64) { ts = base64dects(av[0]); -- cgit