diff options
author | certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2006-03-02 08:23:26 +0000 |
---|---|---|
committer | certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2006-03-02 08:23:26 +0000 |
commit | bd1c639428b4d1edf34fe68148027c5d4897e45e (patch) | |
tree | e5ee171a981728c071dd5e60c0206099dd7dcf63 /src | |
parent | d7d057ea8028b46ea610788cc8a36417202496cd (diff) |
# BUILD : 1.7.13 (997)
# BUGS : 418
# NOTES : Fixed TS6 stuff in channels.c, thx 2 Trystan.
git-svn-id: svn://svn.anope.org/anope/trunk@997 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@722 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/channels.c | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/src/channels.c b/src/channels.c index e4ae41475..5ed5758c8 100644 --- a/src/channels.c +++ b/src/channels.c @@ -527,6 +527,8 @@ void do_join(const char *source, int ac, char **av) if (UseTS6 && ircd->ts6) { user = find_byuid(source); + if (!user) + user = finduser(source); } else { user = finduser(source); } @@ -627,11 +629,7 @@ void do_kick(const char *source, int ac, char **av) continue; } if (debug) { - if (UseTS6 && ircd->ts6) { - alog("debug: kicking %s from %s", user->nick, av[0]); - } else { - alog("debug: kicking %s from %s", s, av[0]); - } + alog("debug: kicking %s from %s", user->nick, av[0]); } for (c = user->chans; c && stricmp(av[0], c->chan->name) != 0; c = c->next); @@ -663,7 +661,13 @@ void do_part(const char *source, int ac, char **av) struct u_chanlist *c; char *channame; - user = finduser(source); + if (UseTS6 && ircd->ts6) { + user = find_byuid(source); + if (!user) + user = finduser(source); + } else { + user = finduser(source); + } if (!user) { if (debug) { alog("debug: PART from nonexistent user %s: %s", source, @@ -820,9 +824,12 @@ void do_sjoin(const char *source, int ac, char **av) if (UseTS6 && ircd->ts6) { user = find_byuid(s); + if (!user) + user = finduser(s); } else { user = finduser(s); } + if (!user) { if (debug) { alog("debug: SJOIN for nonexistent user %s on %s", s, @@ -903,7 +910,13 @@ void do_sjoin(const char *source, int ac, char **av) *end2++ = csmodes[(int) *s++]; *end2 = 0; - user = finduser(s); + if (UseTS6 && ircd->ts6) { + user = find_byuid(s); + if (!user) + user = finduser(s); + } else { + user = finduser(s); + } if (!user) { if (debug) { @@ -979,6 +992,8 @@ void do_sjoin(const char *source, int ac, char **av) if (UseTS6 && ircd->ts6) { user = find_byuid(s); + if (!user) + user = finduser(s); } else { user = finduser(s); } @@ -1035,6 +1050,8 @@ void do_sjoin(const char *source, int ac, char **av) } else if (ac == 2) { if (UseTS6 && ircd->ts6) { user = find_byuid(source); + if (!user) + user = finduser(s); } else { user = finduser(source); } |