memcpy(&(np->ipaddress), &ipaddress, sizeof(ipaddress));
ip_canonicalize_tunnel(&ipaddress_canonical, &ipaddress);
- np->ipnode = refnode(iptree, &ipaddress_canonical, irc_in_addr_is_ipv4(&ipaddress) ? 128 : 64);
+ np->ipnode = refnode(iptree, &ipaddress_canonical, PATRICIA_MAXBITS);
node_increment_usercount(np->ipnode);
np->away=NULL;
np->accountts=0;
np->cloak_count = 0;
np->cloak_extra = NULL;
+ np->message = NULL;
if(cargc>=9) {
int sethostarg = 6, opernamearg = 6, accountarg = 6;
nick *np;
flag_t oldflags;
char *fakehost;
+ void *args[2];
if (cargc<2) {
Error("nick",ERR_WARNING,"Mode message with too few parameters");
oldflags=np->umodes;
setflags(&(np->umodes),UMODE_ALL,cargv[1],umodeflags,REJECT_NONE);
+ args[0] = np;
+ args[1] = (void *)oldflags;
+ triggerhook(HOOK_NICK_MODECHANGE, args);
+
if (strchr(cargv[1],'o')) { /* o always comes on its own when being set */
if(serverlist[myhub].flags & SMODE_OPERNAME) {
if((np->umodes & UMODE_OPER)) {