X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fu_listmode.h;h=145957c776ee80f00e2e87e5fe6cb37c41ca19ad;hb=6279a01bf5b6da48bedfdfe2d39dde69e46ae401;hp=b6cac9c5006e72eab3530a0563794f9172d967ce;hpb=a8d1eab5462e704ccc10e143df54d3136fd5a5cc;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/u_listmode.h b/include/u_listmode.h index b6cac9c50..145957c77 100644 --- a/include/u_listmode.h +++ b/include/u_listmode.h @@ -12,6 +12,7 @@ /* $ModDesc: Provides support for easily creating listmodes, stores the time set, the user, and a parameter. */ +/* Updated to use the config tag if it exists */ /* Written by Om , December 2005. */ /* Based on code previously written by Om - April 2005 */ /* Originally based on m_chanprotect and m_silence */ @@ -38,14 +39,13 @@ public: unsigned int limit; }; -// Just defining the type we use for the excpetion list here... +// Just defining the type we use for the exception list here... typedef std::vector modelist; typedef std::vector limitlist; class ListModeBaseModule : public Module { protected: - int maxlist; char mode; std::string infokey; std::string listnumeric; @@ -147,12 +147,15 @@ public: } } + unsigned int maxsize = 0; + for(limitlist::iterator it = chanlimits.begin(); it != chanlimits.end(); it++) { if(Srv->MatchText(chan->name, it->mask)) { // We have a pattern matching the channel... - if(el->size() < it->limit) + maxsize = el->size(); + if(maxsize < it->limit) { // And now add the mask onto the list... ListItem e; @@ -169,7 +172,7 @@ public: // List is full WriteServ(user->fd, "478 %s %s %s :Channel ban/ignore list is full", user->nick, chan->name, params[0].c_str()); - log(DEBUG, "m_exceptionbase.so: %s tried to set mask %s on %s but the list is full (max %d)", user->nick, params[0].c_str(), chan->name, maxlist); + log(DEBUG, "m_exceptionbase.so: %s tried to set mask %s on %s but the list is full (max %d)", user->nick, params[0].c_str(), chan->name, maxsize); return -1; } else