From 0d3ecb964292600ec1ce6ee1cef83f72185a8bcc Mon Sep 17 00:00:00 2001 From: w00t Date: Sat, 18 Oct 2008 16:52:48 +0000 Subject: Working privs implementation, and example usage in NOTICE for mass messaging. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/configreader.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/configreader.cpp') diff --git a/src/configreader.cpp b/src/configreader.cpp index 118507861..189146137 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -913,9 +913,9 @@ void ServerConfig::Read(bool bail, const std::string &useruid) InitTypes, DoType, DoneClassesAndTypes}, {"class", - {"name", "commands", "usermodes", "chanmodes", NULL}, - {"", "", "", "", NULL}, - {DT_NOSPACES, DT_CHARPTR, DT_CHARPTR, DT_CHARPTR}, + {"name", "commands", "usermodes", "chanmodes", "privs", NULL}, + {"", "", "", "", "", NULL}, + {DT_NOSPACES, DT_CHARPTR, DT_CHARPTR, DT_CHARPTR, DT_CHARPTR}, InitClasses, DoClass, DoneClassesAndTypes}, {NULL, @@ -2224,6 +2224,8 @@ bool InitClasses(ServerConfig* conf, const char*) delete[] n->second.cmodelist; if (n->second.umodelist) delete[] n->second.umodelist; + if (n->second.privs) + delete[] n->second.privs; } } @@ -2252,6 +2254,7 @@ bool DoClass(ServerConfig* conf, const char* tag, char**, ValueList &values, int const char* CommandList = values[1].GetString(); const char* UModeList = values[2].GetString(); const char* CModeList = values[3].GetString(); + const char *PrivsList = values[4].GetString(); for (const char* c = UModeList; *c; ++c) { @@ -2271,6 +2274,7 @@ bool DoClass(ServerConfig* conf, const char* tag, char**, ValueList &values, int conf->operclass[ClassName].commandlist = strnewdup(CommandList); conf->operclass[ClassName].umodelist = strnewdup(UModeList); conf->operclass[ClassName].cmodelist = strnewdup(CModeList); + conf->operclass[ClassName].privs = strnewdup(PrivsList); return true; } -- cgit v1.3.1-10-gc9f91