projects
/
srvx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid appending a user to curr_opers or curr_helpers more than once.
[srvx.git]
/
src
/
proto-p10.c
diff --git
a/src/proto-p10.c
b/src/proto-p10.c
index 8a5a76de57033f3545c60032dc1fc71ffa588a8c..a0da122e2b5f9a49b0cb56956e261c35eea27298 100644
(file)
--- a/
src/proto-p10.c
+++ b/
src/proto-p10.c
@@
-2213,11
+2213,11
@@
void mod_usermode(struct userNode *user, const char *mode_change) {
case '-': add = 0; break;
case 'o':
do_user_mode(FLAGS_OPER);
case '-': add = 0; break;
case 'o':
do_user_mode(FLAGS_OPER);
- if (add) {
+ if (!add) {
+ userList_remove(&curr_opers, user);
+ } else if (!userList_contains(&curr_opers, user)) {
userList_append(&curr_opers, user);
call_oper_funcs(user);
userList_append(&curr_opers, user);
call_oper_funcs(user);
- } else {
- userList_remove(&curr_opers, user);
}
break;
case 'i': do_user_mode(FLAGS_INVISIBLE);
}
break;
case 'i': do_user_mode(FLAGS_INVISIBLE);