From cb77b70cbdffdc95612ef951a951fedf14559f27 Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 12 Apr 2005 14:38:32 +0000 Subject: Added Server::PseudoToUser and Server::UserToPseudo git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1057 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/modules.cpp') 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); -- cgit v1.3.1-10-gc9f91