diff options
author | Adam <Adam@anope.org> | 2014-08-24 16:39:04 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-08-24 16:39:04 -0400 |
commit | bf8f62c32d6c66e38c167e6ca0ac59d29db52326 (patch) | |
tree | ffdd06b244fcd38eca5956c7f9143f76ddcaaf5e /include/channels.h | |
parent | d417241a5b87e1e717755aa851ba0977857db873 (diff) |
Change Channel::GetModeList to return a copy of the mode list, not a
pair of lower/upper bound iterators.
Sometimes when iterating the list, like in cs_mode, we can modify the
contents of it, which combined with mlock always agressively trying to
readd modes to it can do bad things.
Diffstat (limited to 'include/channels.h')
-rw-r--r-- | include/channels.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/channels.h b/include/channels.h index cc30d2030..9bc6c27c6 100644 --- a/include/channels.h +++ b/include/channels.h @@ -242,9 +242,9 @@ class CoreExport Channel : public Base, public Extensible /** Get a list of modes on a channel * @param name A mode name to get the list of - * @return a pair of iterators for the beginning and end of the list + * @return a vector of the list mode entries */ - std::pair<ModeList::iterator, ModeList::iterator> GetModeList(const Anope::string &name); + std::vector<Anope::string> GetModeList(const Anope::string &name); /** Get a string of the modes set on this channel * @param complete Include mode parameters |