Tell queue sanity checks

This commit is contained in:
Akkadius 2014-11-02 22:37:16 -06:00
parent 51958b991c
commit 29a36008d1

View File

@ -455,7 +455,7 @@ bool ZoneServer::Process() {
(cle->TellsOff() && ((cle->Anon() == 1 && scm->fromadmin < cle->Admin()) || scm->fromadmin < 80))) { (cle->TellsOff() && ((cle->Anon() == 1 && scm->fromadmin < cle->Admin()) || scm->fromadmin < 80))) {
if (!scm->noreply) { if (!scm->noreply) {
ClientListEntry* sender = client_list.FindCharacter(scm->from); ClientListEntry* sender = client_list.FindCharacter(scm->from);
if (!sender) if (!sender || !sender->Server())
break; break;
scm->noreply = true; scm->noreply = true;
scm->queued = 3; // offline scm->queued = 3; // offline
@ -467,7 +467,7 @@ bool ZoneServer::Process() {
if (!scm->noreply) { if (!scm->noreply) {
ClientListEntry* sender = client_list.FindCharacter(scm->from); ClientListEntry* sender = client_list.FindCharacter(scm->from);
if (cle->TellQueueFull()) { if (cle->TellQueueFull()) {
if (!sender) if (!sender || !sender->Server())
break; break;
scm->noreply = true; scm->noreply = true;
scm->queued = 2; // queue full scm->queued = 2; // queue full
@ -481,7 +481,7 @@ bool ZoneServer::Process() {
temp->noreply = true; temp->noreply = true;
cle->PushToTellQueue(temp); // deallocation is handled in processing or deconstructor cle->PushToTellQueue(temp); // deallocation is handled in processing or deconstructor
if (!sender) if (!sender || !sender->Server())
break; break;
scm->noreply = true; scm->noreply = true;
scm->queued = 1; // queued scm->queued = 1; // queued