- else
- {
- if ((curr->registered == REG_NICKUSER) && (ready) && (next_call > curr->signon + this->Config->dns_timeout))
- next_call = curr->signon + this->Config->dns_timeout;
- }
-
- // It's time to PING this user. Send them a ping.
- if ((TIME > curr->nping) && (curr->registered == REG_ALL))
- {
- // This user didn't answer the last ping, remove them
- if (!curr->lastping)
- {
- /* Everybody loves boobies. */
- time_t time = this->Time(false) - (curr->nping - curr->pingmax);
- char message[MAXBUF];
- snprintf(message, MAXBUF, "Ping timeout: %ld second%s", (long)time, time > 1 ? "s" : "");
- curr->muted = true;
- curr->lastping = 1;
- curr->nping = TIME+curr->pingmax;
- userrec::QuitUser(this, curr, message);
- continue;
- }
- curr->Write("PING :%s",this->Config->ServerName);
- curr->lastping = 0;
- curr->nping = TIME+curr->pingmax;
- }
- else
- {
- if ((curr->registered == REG_ALL) && (next_call > curr->nping))
- next_call = curr->nping;
- }