summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/commands/ns_alist.cpp6
-rw-r--r--modules/extra/webcpanel/pages/chanserv/utils.cpp10
2 files changed, 16 insertions, 0 deletions
diff --git a/modules/commands/ns_alist.cpp b/modules/commands/ns_alist.cpp
index 2d7b02cfd..d9e91af52 100644
--- a/modules/commands/ns_alist.cpp
+++ b/modules/commands/ns_alist.cpp
@@ -13,6 +13,11 @@
class CommandNSAList : public Command
{
+ static bool ChannelSort(ChannelInfo *ci1, ChannelInfo *ci2)
+ {
+ return ci::less()(ci1->name, ci2->name);
+ }
+
public:
CommandNSAList(Module *creator) : Command(creator, "nickserv/alist", 0, 2)
{
@@ -46,6 +51,7 @@ class CommandNSAList : public Command
std::deque<ChannelInfo *> queue;
nc->GetChannelReferences(queue);
+ std::sort(queue.begin(), queue.end(), ChannelSort);
if (queue.empty())
{
diff --git a/modules/extra/webcpanel/pages/chanserv/utils.cpp b/modules/extra/webcpanel/pages/chanserv/utils.cpp
index 71d44ef6e..b0edece9f 100644
--- a/modules/extra/webcpanel/pages/chanserv/utils.cpp
+++ b/modules/extra/webcpanel/pages/chanserv/utils.cpp
@@ -7,6 +7,14 @@
#include "../../webcpanel.h"
+namespace
+{
+ bool ChannelSort(ChannelInfo *ci1, ChannelInfo *ci2)
+ {
+ return ci::less()(ci1->name, ci2->name);
+ }
+}
+
namespace WebCPanel
{
@@ -17,6 +25,8 @@ void BuildChanList(NickAlias *na, TemplateFileServer::Replacements &replacements
{
std::deque<ChannelInfo *> queue;
na->nc->GetChannelReferences(queue);
+ std::sort(queue.begin(), queue.end(), ChannelSort);
+
for (unsigned i = 0; i < queue.size(); ++i)
{
ChannelInfo *ci = queue[i];