projects
/
srvx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added option to force opers to be in staff_auth_channel
[srvx.git]
/
src
/
proto-p10.c
diff --git
a/src/proto-p10.c
b/src/proto-p10.c
index 11dfb267fc22a6ec5de2feb2cca6f9bc246a39b6..0e4645a02e672d467bbc9884be8da07260d4f98e 100644
(file)
--- a/
src/proto-p10.c
+++ b/
src/proto-p10.c
@@
-1587,6
+1587,8
@@
static CMD_FUNC(cmd_kick)
{
if (argc < 3)
return 0;
{
if (argc < 3)
return 0;
+ if (GetUserN(argv[2]) && IsOper(GetUserN(argv[2])))
+ operpart(GetChannel(argv[1]), GetUserN(argv[2]));
ChannelUserKicked(GetUserH(origin), GetUserN(argv[2]), GetChannel(argv[1]));
return 1;
}
ChannelUserKicked(GetUserH(origin), GetUserN(argv[2]), GetChannel(argv[1]));
return 1;
}
@@
-2413,8
+2415,10
@@
void mod_usermode(struct userNode *user, const char *mode_change) {
case 'o':
do_user_mode(FLAGS_OPER);
if (!add) {
case 'o':
do_user_mode(FLAGS_OPER);
if (!add) {
+ operdel(user);
userList_remove(&curr_opers, user);
} else if (!userList_contains(&curr_opers, user)) {
userList_remove(&curr_opers, user);
} else if (!userList_contains(&curr_opers, user)) {
+ operadd(user);
userList_append(&curr_opers, user);
call_oper_funcs(user);
}
userList_append(&curr_opers, user);
call_oper_funcs(user);
}