X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstreamlistensocket.cpp;h=68580d7627672e7041e79f1a415d5c63d8c156eb;hb=a81c41acd873cda7f40bca634782230d9e57dc4f;hp=df80b001f30e1eef9941d4ca70af353145c657b7;hpb=f59eded7c3e162bbdfc6db424c9badc730017698;p=libs%2Fnet.git diff --git a/source/streamlistensocket.cpp b/source/streamlistensocket.cpp index df80b00..68580d7 100644 --- a/source/streamlistensocket.cpp +++ b/source/streamlistensocket.cpp @@ -1,11 +1,4 @@ -/* $Id$ - -This file is part of libmspnet -Copyright © 2008 Mikkosoft Productions, Mikko Rasa -Distributed under the LGPL -*/ - -#include +#include #include #include #include "streamlistensocket.h" @@ -28,16 +21,16 @@ void StreamListenSocket::listen(const SockAddr &addr, unsigned backlog) { bind(addr); - int err=::listen(handle, backlog); + int err = ::listen(handle, backlog); if(err==-1) - throw Exception(format("Unable to listen: %s", strerror(errno))); + throw SystemError("Unable to listen", errno); #ifdef WIN32 WSAEventSelect(handle, event, FD_ACCEPT); #endif set_events(IO::P_INPUT); - listening=true; + listening = true; } StreamSocket *StreamListenSocket::accept() @@ -45,11 +38,11 @@ StreamSocket *StreamListenSocket::accept() if(!listening) throw InvalidState("Socket is not listening"); - sockaddr sa; - socklen_t size=sizeof(sockaddr); - SocketHandle new_h=::accept(handle, &sa, &size); + sockaddr_storage sa; + socklen_t size = sizeof(sockaddr_storage); + SocketHandle new_h = ::accept(handle, reinterpret_cast(&sa), &size); - RefPtr paddr=SockAddr::create(sa); + RefPtr paddr = SockAddr::create(sa); return new StreamSocket(new_h, *paddr); }