summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/main.cpp
diff options
context:
space:
mode:
authorGravatar w00t2008-03-30 14:26:01 +0000
committerGravatar w00t2008-03-30 14:26:01 +0000
commite2f4bf3a135e6b23fea21b2628c2c830de29cdec (patch)
treef65396b2731efe96f631a6104912480139e1a797 /src/modules/m_spanningtree/main.cpp
parentWhack format warning, do these differ between gcc versions or something?! (diff)
Merge OnCancelAway and OnSetAway, add param awaymsg to OnSetAway (blank when cancelling), and change return type to int so modules can block away messages by returning nonzero.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9223 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/main.cpp')
-rw-r--r--src/modules/m_spanningtree/main.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index b37edf583..84771901e 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -52,7 +52,7 @@ ModuleSpanningTree::ModuleSpanningTree(InspIRCd* Me)
I_OnUserJoin, I_OnChangeHost, I_OnChangeName, I_OnUserPart, I_OnPostConnect,
I_OnUserQuit, I_OnUserPostNick, I_OnUserKick, I_OnRemoteKill, I_OnRehash,
I_OnOper, I_OnAddLine, I_OnDelLine, I_ProtoSendMode, I_OnMode,
- I_OnStats, I_ProtoSendMetaData, I_OnEvent, I_OnSetAway, I_OnCancelAway, I_OnPostCommand
+ I_OnStats, I_ProtoSendMetaData, I_OnEvent, I_OnSetAway, I_OnPostCommand
};
ServerInstance->Modules->Attach(eventlist, this, 29);
@@ -817,24 +817,25 @@ void ModuleSpanningTree::OnMode(User* user, void* dest, int target_type, const s
}
}
-void ModuleSpanningTree::OnSetAway(User* user)
+int ModuleSpanningTree::OnSetAway(User* user, const std::string &awaymsg)
{
if (IS_LOCAL(user))
{
- std::deque<std::string> params;
- params.push_back(":"+std::string(user->awaymsg));
- Utils->DoOneToMany(user->uuid,"AWAY",params);
+ if (awaymsg.empty())
+ {
+ std::deque<std::string> params;
+ params.clear();
+ Utils->DoOneToMany(user->uuid,"AWAY",params);
+ }
+ else
+ {
+ std::deque<std::string> params;
+ params.push_back(":" + awaymsg);
+ Utils->DoOneToMany(user->uuid,"AWAY",params);
+ }
}
-}
-void ModuleSpanningTree::OnCancelAway(User* user)
-{
- if (IS_LOCAL(user))
- {
- std::deque<std::string> params;
- params.clear();
- Utils->DoOneToMany(user->uuid,"AWAY",params);
- }
+ return 0;
}
void ModuleSpanningTree::ProtoSendMode(void* opaque, int target_type, void* target, const std::string &modeline)