From 07ca4f5789bb54f9bfe0e24e68c5515d9708d9ee Mon Sep 17 00:00:00 2001 From: brain Date: Sat, 10 Mar 2007 15:29:47 +0000 Subject: Fix the operator== for irc::string -> std::string to be const&, the lack of const was stopping them being used in certain situations, this saves us a bunch of assign() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6643 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/hashcomp.h | 4 ++-- include/u_listmode.h | 3 +-- src/hashcomp.cpp | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/hashcomp.h b/include/hashcomp.h index 323b35980..79c7627a0 100644 --- a/include/hashcomp.h +++ b/include/hashcomp.h @@ -530,8 +530,8 @@ std::istream& operator>>(std::istream &is, irc::string &str); */ std::string operator+ (std::string& leftval, irc::string& rightval); irc::string operator+ (irc::string& leftval, std::string& rightval); -bool operator== (std::string& leftval, irc::string& rightval); -bool operator== (irc::string& leftval, std::string& rightval); +bool operator== (const std::string& leftval, const irc::string& rightval); +bool operator== (const irc::string& leftval, const std::string& rightval); std::string assign(const irc::string &other); irc::string assign(const std::string &other); diff --git a/include/u_listmode.h b/include/u_listmode.h index d5770d9b7..ce720f926 100644 --- a/include/u_listmode.h +++ b/include/u_listmode.h @@ -102,12 +102,11 @@ class ListModeBase : public ModeHandler { modelist* el; channel->GetExt(infokey, el); - irc::string csp(assign(parameter)); if (el) { for (modelist::iterator it = el->begin(); it != el->end(); it++) { - if(csp == it->mask) + if(parameter == it->mask) { return std::make_pair(true, parameter); } diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index 53483c748..b78b66af6 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -148,12 +148,12 @@ irc::string operator+ (irc::string& leftval, std::string& rightval) return leftval + irc::string(rightval.c_str()); } -bool operator== (std::string& leftval, irc::string& rightval) +bool operator== (const std::string& leftval, const irc::string& rightval) { return (leftval.c_str() == rightval); } -bool operator== (irc::string& leftval, std::string& rightval) +bool operator== (const irc::string& leftval, const std::string& rightval) { return (leftval == rightval.c_str()); } -- cgit v1.2.3