summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/users.h2
-rw-r--r--src/modules/m_spanningtree/remoteuser.cpp5
-rw-r--r--src/modules/m_spanningtree/remoteuser.h1
-rw-r--r--src/users.cpp3
4 files changed, 8 insertions, 3 deletions
diff --git a/include/users.h b/include/users.h
index c2ad6b9ee..8cbf8a8da 100644
--- a/include/users.h
+++ b/include/users.h
@@ -524,7 +524,7 @@ class CoreExport User : public Extensible
*/
virtual void WriteRemoteNotice(const std::string& text);
- void WriteRemoteNumeric(const Numeric::Numeric& numeric);
+ virtual void WriteRemoteNumeric(const Numeric::Numeric& numeric);
template <typename T1>
void WriteRemoteNumeric(unsigned int numeric, T1 p1)
diff --git a/src/modules/m_spanningtree/remoteuser.cpp b/src/modules/m_spanningtree/remoteuser.cpp
index cbd1b801e..717a6fd9f 100644
--- a/src/modules/m_spanningtree/remoteuser.cpp
+++ b/src/modules/m_spanningtree/remoteuser.cpp
@@ -26,3 +26,8 @@ SpanningTree::RemoteUser::RemoteUser(const std::string& uid, Server* srv)
: ::RemoteUser(uid, srv)
{
}
+
+void SpanningTree::RemoteUser::WriteRemoteNumeric(const Numeric::Numeric& numeric)
+{
+ CommandNum::Builder(this, numeric).Unicast(this);
+}
diff --git a/src/modules/m_spanningtree/remoteuser.h b/src/modules/m_spanningtree/remoteuser.h
index 235cbfd78..416f2f760 100644
--- a/src/modules/m_spanningtree/remoteuser.h
+++ b/src/modules/m_spanningtree/remoteuser.h
@@ -28,4 +28,5 @@ class SpanningTree::RemoteUser : public ::RemoteUser
{
public:
RemoteUser(const std::string& uid, Server* srv);
+ void WriteRemoteNumeric(const Numeric::Numeric& numeric) CXX11_OVERRIDE;
};
diff --git a/src/users.cpp b/src/users.cpp
index e1bda1ad3..7437e8a20 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -950,8 +950,7 @@ void User::SendText(const char *text, ...)
void User::WriteRemoteNumeric(const Numeric::Numeric& numeric)
{
- const std::string& servername = (numeric.GetServer() ? numeric.GetServer()->GetName() : ServerInstance->Config->ServerName);
- SendText(BuildNumeric(servername, this, numeric.GetNumeric(), numeric.GetParams()));
+ WriteNumeric(numeric);
}
/* return 0 or 1 depending if users u and u2 share one or more common channels