X-Git-Url: http://git.tdb.fi/?p=libs%2Fnet.git;a=blobdiff_plain;f=source%2Fsocket.cpp;h=150d8367948c7d0ed64a3c1547d2ae485ab089dc;hp=49614df0c807bdf89f3d5772b3afb996b1bf0039;hb=1b2aabf076169e6d2049227188e464e95ac40514;hpb=35009eb3f51a6fd0f9261f892a85d97d81e69886 diff --git a/source/socket.cpp b/source/socket.cpp index 49614df..150d836 100644 --- a/source/socket.cpp +++ b/source/socket.cpp @@ -1,7 +1,7 @@ /* $Id$ This file is part of libmspnet -Copyright © 2008 Mikkosoft Productions, Mikko Rasa +Copyright © 2008, 2010-2011 Mikkosoft Productions, Mikko Rasa Distributed under the LGPL */ @@ -49,9 +49,9 @@ Socket::Socket(SocketHandle h, const SockAddr &paddr): local_addr(0), peer_addr(paddr.copy()) { - sockaddr sa; - socklen_t size=sizeof(sockaddr); - getsockname(handle, &sa, &size); + sockaddr_storage sa; + socklen_t size=sizeof(sockaddr_storage); + getsockname(handle, reinterpret_cast(&sa), &size); local_addr=SockAddr::create(sa); #ifdef WIN32 @@ -105,10 +105,10 @@ void Socket::bind(const SockAddr &addr) { check_state(false); - sockaddr sa; + sockaddr_storage sa; unsigned size=addr.fill_sockaddr(sa); - int err=::bind(handle, &sa, size); + int err=::bind(handle, reinterpret_cast(&sa), size); if(err==-1) throw SystemError("Unable to bind", errno);