summaryrefslogtreecommitdiffstats
path: root/src/server/ChatServer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ChatServer.cpp')
-rw-r--r--src/server/ChatServer.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/ChatServer.cpp b/src/server/ChatServer.cpp
index 0800ee6..2d700e9 100644
--- a/src/server/ChatServer.cpp
+++ b/src/server/ChatServer.cpp
@@ -186,6 +186,21 @@ void StorageOfUsers::SendAllUsers(const char *msg, UserInfo *except,
p->u->Send(msg, spec_msg);
}
+UserInfo *StorageOfUsers::SearchUserByName(const char *name)
+{
+ item *tmp = first;
+ while(tmp) {
+ const char *search = name;
+ const char *checking = tmp->u->GetName();
+ if(strcmp(search, checking) == 0)
+ return tmp->u;
+
+ tmp = tmp->next;
+ }
+
+ return 0;
+}
+
void StorageOfUsers::AddUser(UserInfo *u)
{
item *p = new item;
@@ -205,6 +220,7 @@ void StorageOfUsers::RemoveUser(UserInfo *u)
// not delete UserInfo!
online--;
delete tmp;
+ tmp = 0; // null for first
return;
}
}
@@ -220,5 +236,7 @@ UserInfo *StorageOfUsers::Disconnect()
delete tmp;
return rn;
}
+
+ first = 0;
return 0;
} \ No newline at end of file