int sock;
int day;
-List<aClient> clients;
+List<aClient> clients[U_TABLE_SIZE];
void save_day();
void load_day();
if ((tempPtr = find((source + 1))))
{
char *nick;
+ unsigned long oldhv, newhv;
nick = strtok(NULL, " ");
+ oldhv = HASH((unsigned char *) tempPtr->getNick(),
+ U_TABLE_SIZE);
+ newhv = HASH((unsigned char *) nick, U_TABLE_SIZE);
tempPtr->setNick(nick);
+ clients[oldhv].remove(tempPtr);
+ clients[newhv].insertAtBack(tempPtr);
}
}
else
#else
notice(s_GameServ, nick, welcomemsg, nick);
#endif
-
- clients.insertAtBack(newuser);
+ unsigned long hv = HASH((unsigned char *) nick, U_TABLE_SIZE);
+ clients[hv].insertAtBack(newuser);
delete newuser;
}
#if defined(P10)
if (z == ':')
source++;
+ unsigned long hv = HASH((unsigned char *) source, U_TABLE_SIZE);
if ((quitter = find(source)))
- clients.remove(quitter);
+ clients[hv].remove(quitter);
if ((quitter = findIRCplayer(source)))
{
if (player_fight(quitter))
aClient *findbyrealnick(char *realnick)
{
ListNode <aClient> *newPtr;
- newPtr = clients.First();
+ unsigned long hv = HASH((unsigned char *) realnick, U_TABLE_SIZE);
+ newPtr = clients[hv].First();
aClient *client = NULL;
aClient *findbynick(char *nick)
{
ListNode <aClient> *newPtr;
- newPtr = clients.First();
+ unsigned long hv = HASH((unsigned char *) nick, U_TABLE_SIZE);
+ newPtr = clients[hv].First();
aClient *client = NULL;
ListNode <aClient> *newPtr;
aClient *p = NULL;
- for (newPtr = players.First(); newPtr; newPtr = newPtr->Next())
+ unsigned long hv = HASH((unsigned char *) nick, U_TABLE_SIZE);
+ for (newPtr = players[hv].First(); newPtr; newPtr = newPtr->Next())
{
p = newPtr->getData();
#ifdef P10
{
ListNode <aClient> *newPtr;
Player *p = NULL;
-
- for (newPtr = players.First(); newPtr; newPtr = newPtr->Next())
+ unsigned long hv = HASH((unsigned char *) name, U_TABLE_SIZE);
+ for (newPtr = players[hv].First(); newPtr; newPtr = newPtr->Next())
{
p = newPtr->getData()->stats;
if (stricmp(p->name, name) == 0)
aClient *findbynick(const char *nick)
{
ListNode <aClient> *newPtr;
- newPtr = clients.First();
+ unsigned long hv = HASH((unsigned char *) nick, U_TABLE_SIZE);
+ newPtr = clients[hv].First();
aClient *client = NULL;