summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcertus 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
committercertus 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
commitbd1c639428b4d1edf34fe68148027c5d4897e45e (patch)
treee5ee171a981728c071dd5e60c0206099dd7dcf63 /src
parentd7d057ea8028b46ea610788cc8a36417202496cd (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.c31
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);
}