summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-08-31 17:53:39 -0400
committerAdam <Adam@anope.org>2010-08-31 17:53:39 -0400
commit7dfc8e8ee8f5355429763eac70fe694bf947eca3 (patch)
treee1974b6e250981820e6cd0e678ced990167a3bf4 /src
parent3a9a0ef1355d5b8363354fb12bff20bd3cbbf129 (diff)
Fixed do_sjoin to properly find the server source on TS6 IRCds
Diffstat (limited to 'src')
-rw-r--r--src/channels.c7
1 files changed, 5 insertions, 2 deletions
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]);