summaryrefslogtreecommitdiff
path: root/src/modules.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-12 14:38:32 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-12 14:38:32 +0000
commitcb77b70cbdffdc95612ef951a951fedf14559f27 (patch)
treefddd02b3568a21e9b3279338f5598b963fd67c0f /src/modules.cpp
parente7ed8d5b73dd4d398fd7a16e9a731418387a3b7a (diff)
Added Server::PseudoToUser and Server::UserToPseudo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1057 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules.cpp')
-rw-r--r--src/modules.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/modules.cpp b/src/modules.cpp
index 324ab375c..2b4314dee 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -576,6 +576,34 @@ int Server::CountUsers(chanrec* c)
}
+bool Server::UserToPseudo(userrec* user,std::string message)
+{
+ unsigned int old_fd = user->fd;
+ user->fd = FD_MAGIC_NUMBER;
+ Write(old_fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,message.c_str());
+ close(old_fd);
+ shutdown (old_fd,2);
+}
+
+bool Server::PseudoToUser(userrec* alive,userrec* zombie,std::string message)
+{
+ zombie->fd = alive->fd;
+ alive->fd = FD_MAGIC_NUMBER;
+ Write(zombie->fd,"NICK %s",zombie->nick);
+ kill_link(alive,message.c_str());
+ for (int i = 0; i != MAXCHANS; i++)
+ {
+ if (zombie->chans[i].channel != NULL)
+ {
+ if (zombie->chans[i].channel->name)
+ {
+ Write(zombie->fd,"JOIN %s",zombie->chans[i].channel->name);
+ }
+ }
+ }
+
+}
+
ConfigReader::ConfigReader()
{
this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);