net/StaticSocketAddress: use SocketAddress::size_type

This commit is contained in:
Max Kellermann 2015-07-21 10:39:50 +02:00
parent 49aaf98a7f
commit 554888318a
2 changed files with 10 additions and 6 deletions

View File

@ -44,7 +44,7 @@
StaticSocketAddress & StaticSocketAddress &
StaticSocketAddress::operator=(SocketAddress other) StaticSocketAddress::operator=(SocketAddress other)
{ {
size = std::min(size_t(other.GetSize()), GetCapacity()); size = std::min(other.GetSize(), GetCapacity());
memcpy(&address, other.GetAddress(), size); memcpy(&address, other.GetAddress(), size);
return *this; return *this;
} }

View File

@ -46,7 +46,11 @@
* An OO wrapper for struct sockaddr_storage. * An OO wrapper for struct sockaddr_storage.
*/ */
class StaticSocketAddress { class StaticSocketAddress {
size_t size; public:
typedef SocketAddress::size_type size_type;
private:
size_type size;
struct sockaddr_storage address; struct sockaddr_storage address;
public: public:
@ -74,17 +78,17 @@ public:
return reinterpret_cast<const struct sockaddr *>(&address); return reinterpret_cast<const struct sockaddr *>(&address);
} }
constexpr size_t GetCapacity() const { constexpr size_type GetCapacity() const {
return sizeof(address); return sizeof(address);
} }
size_t GetSize() const { size_type GetSize() const {
return size; return size;
} }
void SetSize(size_t _size) { void SetSize(size_type _size) {
assert(_size > 0); assert(_size > 0);
assert(_size <= sizeof(address)); assert(size_t(_size) <= sizeof(address));
size = _size; size = _size;
} }