summaryrefslogtreecommitdiff
path: root/src/sockets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sockets.cpp')
-rw-r--r--src/sockets.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/sockets.cpp b/src/sockets.cpp
index f047c5f44..9b88de4c6 100644
--- a/src/sockets.cpp
+++ b/src/sockets.cpp
@@ -96,9 +96,9 @@ bool sockaddrs::ipv6() const
return sa.sa_family == AF_INET6;
}
-bool sockaddrs::operator()() const
+bool sockaddrs::valid() const
{
- return valid();
+ return size() != 0;
}
bool sockaddrs::operator==(const sockaddrs &other) const
@@ -180,11 +180,6 @@ void sockaddrs::ntop(int type, const void *src)
this->clear();
}
-bool sockaddrs::valid() const
-{
- return size() != 0;
-}
-
cidr::cidr(const Anope::string &ip)
{
bool ipv6 = ip.find(':') != Anope::string::npos;
@@ -221,6 +216,12 @@ cidr::cidr(const Anope::string &ip, unsigned char len)
this->cidr_len = len;
}
+cidr::cidr(const sockaddrs &a, unsigned char len) : addr(a)
+{
+ this->cidr_ip = a.addr();
+ this->cidr_len = len;
+}
+
Anope::string cidr::mask() const
{
if ((this->addr.ipv6() && this->cidr_len == 128) || (!this->addr.ipv6() && this->cidr_len == 32))