X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/aa80398e3f19d16823a93163d29b7452a621bcdc..5de7a0b046cca5af124ec6332d16f53dfb9b3af7:/gameserv/tcpclient.cpp diff --git a/gameserv/tcpclient.cpp b/gameserv/tcpclient.cpp index f3c7aba..48e7823 100644 --- a/gameserv/tcpclient.cpp +++ b/gameserv/tcpclient.cpp @@ -49,6 +49,7 @@ void prettyIntro(); void check_idles(); void clearClients(); void clearPlayers(); +void clearItems(); // Make this a daemon int daemon(int nochdir, int noclose); @@ -80,6 +81,7 @@ int main(int argc, char *argv[]) cout << "Usage: gameserv [options] [configfile]" << endl; cout << "Options:" << endl; cout << "--help Displays this help dialogue" << endl; + delete []conf; return 1; } delete []conf; @@ -518,34 +520,38 @@ int main(int argc, char *argv[]) source--; #if defined(P10) - } else if (stricmp(cmd, "P") == 0) { - char *rest, *dest; - char *longname; - longname = new char[strlen(s_GameServ) + strlen(servername) + 2]; - - sprintf(longname, "%S@%s", servername); - - dest = strtok(NULL, " "); - rest = strtok(NULL, ""); - if (stricmp(dest, gsnum) == 0 || stricmp(dest, longname) == 0) - { - delete [] longname; - gameserv(source, rest); - } - else if (stricmp(dest, c_Forest) == 0 && isListenOnCF()) - { - delete [] longname; - forest(source, rest); - } + } + else if (stricmp(cmd, "P") == 0) + { + char *rest, *dest; + char *longname; + longname = new char[strlen(s_GameServ) + strlen(servername) + 2]; + + sprintf(longname, "%S@%s", servername); + + dest = strtok(NULL, " "); + rest = strtok(NULL, ""); + if (stricmp(dest, gsnum) == 0 || stricmp(dest, longname) == 0) + { + delete [] longname; + gameserv(source, rest); + } + else if (stricmp(dest, c_Forest) == 0 && isListenOnCF()) + { + delete [] longname; + forest(source, rest); + } #else - } else if (stricmp(cmd, "PRIVMSG") == 0) { + } + else if (stricmp(cmd, "PRIVMSG") == 0) + { char *rest, *dest; dest = strtok(NULL, " "); rest = strtok(NULL, ""); if (strnicmp(dest, s_GameServ, strlen(s_GameServ)) == 0) - gameserv(source, rest); + gameserv(source, rest); else if (stricmp(dest, c_Forest) == 0 && isListenOnCF()) - forest(source, rest); + forest(source, rest); #endif #if defined(P10) } else if (stricmp(cmd, "J") == 0) { @@ -622,7 +628,7 @@ int main(int argc, char *argv[]) saveNews(newsdata, todaysnews); clearClients(); clearPlayers(); - + clearItems(); delete_monsters(); #ifdef DEBUGMODE @@ -947,7 +953,15 @@ void save_lastrollover() outfile << lastrollover << endl; outfile.close(); } - +void clearItems() +{ + list::iterator iter; + for (iter = Items.begin(); iter != Items.end(); iter++) + { + delete (*iter); + Items.erase(iter); + } +} void clearClients() { list::iterator iter; @@ -960,6 +974,7 @@ void clearClients() } } } + void clearPlayers() { list::iterator iter;