X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/f20f0ab590fea600e7ff7a5191abdac1ece30d3f..63c0b8ad3980b46f5c9052c1966a36ce15f6e440:/src/proto-p10.c diff --git a/src/proto-p10.c b/src/proto-p10.c index e13b71c..b7b0864 100644 --- a/src/proto-p10.c +++ b/src/proto-p10.c @@ -1366,7 +1366,6 @@ static CMD_FUNC(cmd_eob) { struct server *sender; dict_iterator_t it; - unsigned int ii; if (!(sender = GetServerH(origin))) return 0; @@ -1387,8 +1386,7 @@ static CMD_FUNC(cmd_eob) } sender->self_burst = 0; recalc_bursts(sender); - for (ii=0; iinumeric, target->numeric, (add == PRIV_ADD) ? "+" : "-", flag); } +void +irc_raw_privs(struct userNode *target, const char *privs) +{ + putsock("%s " P10_PRIVS " %s %s", self->numeric, target->numeric, privs); +} + static CMD_FUNC(cmd_privs) { char *tstr = NULL; @@ -2471,6 +2475,7 @@ parse_cleanup(void) { unsigned int nn; free(of_list); + free(of_list_extra); free(privmsg_funcs); num_privmsg_funcs = 0; free(notice_funcs); @@ -2979,7 +2984,7 @@ static struct userNode* AddUser(struct server* uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *numeric, const char *userinfo, time_t timestamp, const char *realip) { struct userNode *oldUser, *uNode; - unsigned int n, ignore_user, dummy; + unsigned int ignore_user, dummy; char *tstr; int type; @@ -3077,8 +3082,7 @@ AddUser(struct server* uplink, const char *nick, const char *ident, const char * } if (IsLocal(uNode)) irc_user(uNode); - for (n=0; (ndead; n++) - nuf_list[n](uNode); + call_new_user_funcs(uNode); if ((uNode->loc == 1) && (uNode->handle_info)) send_func_list(uNode); @@ -3090,7 +3094,6 @@ AddUser(struct server* uplink, const char *nick, const char *ident, const char * void DelUser(struct userNode* user, struct userNode *killer, int announce, const char *why) { - unsigned int n; verify(user); @@ -3106,8 +3109,7 @@ DelUser(struct userNode* user, struct userNode *killer, int announce, const char /* Call these in reverse order so ChanServ can update presence information before NickServ nukes the handle_info. */ - for (n = duf_used; n > 0; ) - duf_list[--n](user, killer, why); + call_del_user_funcs(user, killer, why); user->uplink->clients--; user->uplink->users[user->num_local] = NULL;