diff --git a/include/opendht/sockaddr.h b/include/opendht/sockaddr.h index 790204de..e371bb90 100644 --- a/include/opendht/sockaddr.h +++ b/include/opendht/sockaddr.h @@ -144,7 +144,7 @@ public: if (len) addr.reset((sockaddr*)::calloc(len, 1)); else addr.reset(); } - if (len > sizeof(sa_family_t)) + if (len) addr->sa_family = af; } @@ -223,16 +223,16 @@ public: */ sockaddr* get() { return addr.get(); } - const sockaddr_in& getIPv4() const { + inline const sockaddr_in& getIPv4() const { return *reinterpret_cast(get()); } - const sockaddr_in6& getIPv6() const { + inline const sockaddr_in6& getIPv6() const { return *reinterpret_cast(get()); } - sockaddr_in& getIPv4() { + inline sockaddr_in& getIPv4() { return *reinterpret_cast(get()); } - sockaddr_in6& getIPv6() { + inline sockaddr_in6& getIPv6() { return *reinterpret_cast(get()); }