From f8cfca2ca607d01894c905a13d984951bfdfb368 Mon Sep 17 00:00:00 2001
From: Daniel De Graaf
Date: Thu, 25 Feb 2010 20:08:30 -0600
Subject: Omit opflags from permchannel database
---
src/modules/m_check.cpp | 2 +-
src/modules/m_httpd_stats.cpp | 2 +-
src/modules/m_opflags.cpp | 6 ++++--
src/modules/m_override.cpp | 2 +-
src/modules/m_permchannels.cpp | 2 +-
src/modules/m_spanningtree/main.cpp | 2 +-
src/modules/m_spanningtree/netburst.cpp | 2 +-
src/modules/m_spanningtree/protocolinterface.cpp | 4 ++--
8 files changed, 12 insertions(+), 10 deletions(-)
(limited to 'src/modules')
diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp
index 3f47dc756..5bfabb1cf 100644
--- a/src/modules/m_check.cpp
+++ b/src/modules/m_check.cpp
@@ -162,7 +162,7 @@ class CommandCheck : public Command
irc::modestacker cmodes;
targchan->ChanModes(cmodes, MODELIST_FULL);
while (!cmodes.empty())
- user->SendText(checkstr + " modes " + cmodes.popModeLine());
+ user->SendText(checkstr + " modes " + cmodes.popModeLine(FORMAT_USER));
user->SendText(checkstr + " membercount " + ConvToStr(targchan->GetUserCounter()));
diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp
index cf3b162a6..e62f44a5a 100644
--- a/src/modules/m_httpd_stats.cpp
+++ b/src/modules/m_httpd_stats.cpp
@@ -142,7 +142,7 @@ class ModuleHttpStats : public Module
data << "";
irc::modestacker cmodes;
c->ChanModes(cmodes, MODELIST_FULL);
- data << "" << Sanitize(cmodes.popModeLine(true, INT_MAX, INT_MAX)) << "";
+ data << "" << Sanitize(cmodes.popModeLine(FORMAT_USER, INT_MAX, INT_MAX)) << "";
const UserMembList* ulist = c->GetUsers();
for (UserMembCIter x = ulist->begin(); x != ulist->end(); ++x)
diff --git a/src/modules/m_opflags.cpp b/src/modules/m_opflags.cpp
index 8d01457b8..a480fdca2 100644
--- a/src/modules/m_opflags.cpp
+++ b/src/modules/m_opflags.cpp
@@ -138,8 +138,10 @@ class FlagMode : public ModeHandler
}
}
- void TranslateMode(std::string& value, bool adding, bool use_uid)
+ void TranslateMode(std::string& value, bool adding, SerializeFormat format)
{
+ if (format == FORMAT_PERSIST)
+ value.clear();
std::string::size_type colon = value.find(':');
if (colon == std::string::npos)
return;
@@ -148,7 +150,7 @@ class FlagMode : public ModeHandler
User* dest = ServerInstance->FindNick(nick);
if (!dest)
return;
- value = flag + (use_uid ? dest->uuid : dest->nick);
+ value = flag + (format == FORMAT_USER ? dest->nick : dest->uuid);
}
};
diff --git a/src/modules/m_override.cpp b/src/modules/m_override.cpp
index fad940af0..4742bb284 100644
--- a/src/modules/m_override.cpp
+++ b/src/modules/m_override.cpp
@@ -98,7 +98,7 @@ class ModuleOverride : public Module
if (mode < HALFOP_VALUE && CanOverride(source, "MODE"))
{
irc::modestacker tmp(modes);
- std::string msg = std::string(source->nick)+" overriding modes:" + tmp.popModeLine();
+ std::string msg = std::string(source->nick)+" overriding modes:" + tmp.popModeLine(FORMAT_USER);
ServerInstance->SNO->WriteGlobalSno('v',msg);
return MOD_RES_ALLOW;
}
diff --git a/src/modules/m_permchannels.cpp b/src/modules/m_permchannels.cpp
index a7cbe6059..0d98e5174 100644
--- a/src/modules/m_permchannels.cpp
+++ b/src/modules/m_permchannels.cpp
@@ -67,7 +67,7 @@ static bool WriteDatabase(ModeHandler* p)
fputs("\" modes=\"", f);
irc::modestacker cmodes;
chan->ChanModes(cmodes, MODELIST_FULL);
- fputesc(f, cmodes.popModeLine(true, INT_MAX, INT_MAX));
+ fputesc(f, cmodes.popModeLine(FORMAT_PERSIST, INT_MAX, INT_MAX));
fputs("\">\n", f);
}
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp
index af9292f67..365b33d55 100644
--- a/src/modules/m_spanningtree/main.cpp
+++ b/src/modules/m_spanningtree/main.cpp
@@ -613,7 +613,7 @@ void ModuleSpanningTree::OnUserJoin(Membership* memb, bool sync, bool created, C
params.push_back(ConvToStr(memb->chan->age));
irc::modestacker ms;
memb->chan->ChanModes(ms, MODELIST_SHORT);
- params.push_back(ms.popModeLine(true, 400, INT_MAX));
+ params.push_back(ms.popModeLine(FORMAT_NETWORK, 400, INT_MAX));
params.push_back(memb->modes+","+std::string(memb->user->uuid));
Utils->DoOneToMany(ServerInstance->Config->GetSID(),"FJOIN",params);
}
diff --git a/src/modules/m_spanningtree/netburst.cpp b/src/modules/m_spanningtree/netburst.cpp
index 1e8c9577a..048c1f593 100644
--- a/src/modules/m_spanningtree/netburst.cpp
+++ b/src/modules/m_spanningtree/netburst.cpp
@@ -137,7 +137,7 @@ void TreeSocket::SendFJoins(TreeServer* Current, Channel* c)
snprintf(list, MAXBUF, ":%s FMODE %s %ld ", ServerInstance->Config->GetSID().c_str(), c->name.c_str(), (unsigned long)c->age);
while (!fmodes.empty())
- WriteLine(list + fmodes.popModeLine(true));
+ WriteLine(list + fmodes.popModeLine(FORMAT_NETWORK));
}
/** Send G, Q, Z and E lines */
diff --git a/src/modules/m_spanningtree/protocolinterface.cpp b/src/modules/m_spanningtree/protocolinterface.cpp
index 21913abf7..88ee540f0 100644
--- a/src/modules/m_spanningtree/protocolinterface.cpp
+++ b/src/modules/m_spanningtree/protocolinterface.cpp
@@ -105,7 +105,7 @@ void SpanningTreeProtocolInterface::SendMode(User* src, Extensible* dest, irc::m
outlist.push_back("");
while (!modes.empty())
{
- outlist[1] = modes.popModeLine(true);
+ outlist[1] = modes.popModeLine(FORMAT_NETWORK);
Utils->DoOneToMany(src->uuid,"MODE",outlist);
}
}
@@ -116,7 +116,7 @@ void SpanningTreeProtocolInterface::SendMode(User* src, Extensible* dest, irc::m
outlist.push_back("");
while (!modes.empty())
{
- outlist[2] = modes.popModeLine(true);
+ outlist[2] = modes.popModeLine(FORMAT_NETWORK);
Utils->DoOneToMany(src->uuid,"FMODE",outlist);
}
}
--
cgit v1.3.1-10-gc9f91