X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fproto-p10.c;h=0e4645a02e672d467bbc9884be8da07260d4f98e;hb=45fde124458090316c02a542a68d1132f12aca49;hp=11dfb267fc22a6ec5de2feb2cca6f9bc246a39b6;hpb=9f4658418f01bee90e518da1850e0b39552da963;p=srvx.git diff --git a/src/proto-p10.c b/src/proto-p10.c index 11dfb26..0e4645a 100644 --- 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 (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; } @@ -2413,8 +2415,10 @@ void mod_usermode(struct userNode *user, const char *mode_change) { case 'o': do_user_mode(FLAGS_OPER); if (!add) { + operdel(user); userList_remove(&curr_opers, user); } else if (!userList_contains(&curr_opers, user)) { + operadd(user); userList_append(&curr_opers, user); call_oper_funcs(user); }