- umode = (EmptyString(parv[2])) ? "." : parv[2];
- snomask = (EmptyString(parv[3])) ? "." : parv[3];
- info = (EmptyString(parv[4])) ? "No Info" : parv[4];
-
- user = make_user(cptr);
-
- if (!strchr(umode, '.')) /* Not an IP# as hostname ? */
- cptr->flags |= (UFLAGS & atoi(umode));
-
- if ((cptr->flags & FLAGS_SERVNOTICE))
- set_snomask(cptr, (IsDigit(*snomask) && !strchr(snomask, '.')) ?
- (atoi(snomask) & SNO_USER) : SNO_DEFAULT, SNO_SET);
-
- user->server = &me;
- ircd_strncpy(cptr->info, info, REALLEN);
-
- if (cptr->name[0] && cptr->cookie == COOKIE_VERIFIED) {
- /*
- * NICK and PONG already received, now we have USER...
+ if ((mode_request = strtoul(parv[2], &term, 10)) != 0
+ && term != NULL && *term == '\0')
+ {
+ char *invisible[4] = { NULL, NULL, "+i", NULL };
+ char *wallops[4] = { NULL, NULL, "+w" , NULL };
+ /* These bitmask values are codified in RFC 2812, showing
+ * ... well, something that is probably best not said.