projects
/
NeonServV5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
063d7e6
)
always update chanuser flag information when getting them
author
pk910
<philipp@zoelle1.de>
Mon, 31 Oct 2011 22:38:14 +0000
(23:38 +0100)
committer
pk910
<philipp@zoelle1.de>
Mon, 31 Oct 2011 22:38:14 +0000
(23:38 +0100)
src/WHOHandler.c
patch
|
blob
|
history
diff --git
a/src/WHOHandler.c
b/src/WHOHandler.c
index ffb1e47469750d8472f023fe13f8301a2340ebca..c8c65820043017651b46e52ac13b76bdeacfca04 100644
(file)
--- a/
src/WHOHandler.c
+++ b/
src/WHOHandler.c
@@
-223,21
+223,22
@@
void recv_whohandler_354(struct ClientSocket *client, char **argv, unsigned int
}
struct UserNode *user;
}
struct UserNode *user;
+ struct ChanUser *chanuser;
if(chanuserflags & CHANUSERFLAG_INVISIBLE) {
user = createTempUser(argv[4]);
user->flags |= USERFLAG_ISTMPUSER;
chan->flags |= CHANFLAG_HAVE_INVISIBLES;
if(chanuserflags & CHANUSERFLAG_INVISIBLE) {
user = createTempUser(argv[4]);
user->flags |= USERFLAG_ISTMPUSER;
chan->flags |= CHANFLAG_HAVE_INVISIBLES;
-
struct ChanUser *
chanuser = addInvisibleChanUser(chan, user);
+ chanuser = addInvisibleChanUser(chan, user);
chanuser->flags = (chanuser->flags & ~CHANUSERFLAG_OPPED_OR_VOICED) | chanuserflags;
} else {
user = getUserByNick(argv[4]);
if(user == NULL) {
user = addUser(argv[4]);
}
chanuser->flags = (chanuser->flags & ~CHANUSERFLAG_OPPED_OR_VOICED) | chanuserflags;
} else {
user = getUserByNick(argv[4]);
if(user == NULL) {
user = addUser(argv[4]);
}
- if(!isUserOnChan(user, chan)) {
- struct ChanUser *chanuser = addChanUser(chan, user);
- chanuser->flags = (chanuser->flags & ~CHANUSERFLAG_OPPED_OR_VOICED) | chanuserflags;
+ if(!(chanuser = getChanUser(user, chan))) {
+ chanuser = addChanUser(chan, user);
}
}
+ chanuser->flags = (chanuser->flags & ~CHANUSERFLAG_OPPED_OR_VOICED) | chanuserflags;
}
user->flags = (user->flags & ~USERFLAG_ISIRCOP) | userflags;
user->last_who = time(0);
}
user->flags = (user->flags & ~USERFLAG_ISIRCOP) | userflags;
user->last_who = time(0);