+ int offset = snprintf(textbuffer,MAXBUF,":%s ", user->GetFullHost().c_str());
+
+ va_start(argsPtr, text);
+ vsnprintf(textbuffer + offset, MAXBUF - offset, text, argsPtr);
+ va_end(argsPtr);
+
+ this->RawWriteAllExcept(user, serversource, status, except_list, std::string(textbuffer));
+}
+
+void Channel::WriteAllExcept(User* user, bool serversource, char status, CUList &except_list, const std::string &text)
+{
+ char tb[MAXBUF];
+
+ snprintf(tb,MAXBUF,":%s %s", serversource ? ServerInstance->Config->ServerName.c_str() : user->GetFullHost().c_str(), text.c_str());
+ std::string out = tb;
+
+ this->RawWriteAllExcept(user, serversource, status, except_list, std::string(tb));
+}
+
+void Channel::RawWriteAllExcept(User* user, bool serversource, char status, CUList &except_list, const std::string &out)
+{
+ unsigned int minrank = 0;
+ if (status)