X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnet%2Fdatagramsocket.cpp;h=54935545bbf984629602498c6d162d0e7170f75b;hb=HEAD;hp=fe01ef5c6a6ffc7e2419750679bfaed347238fd3;hpb=88bbb4039aa274c7f41ebe3a18085b63427e5475;p=libs%2Fnet.git diff --git a/source/net/datagramsocket.cpp b/source/net/datagramsocket.cpp index fe01ef5..5493554 100644 --- a/source/net/datagramsocket.cpp +++ b/source/net/datagramsocket.cpp @@ -1,8 +1,8 @@ #include "platform_api.h" +#include "datagramsocket.h" #include #include #include -#include "datagramsocket.h" #include "sockaddr_private.h" #include "socket_private.h" @@ -20,20 +20,18 @@ bool DatagramSocket::connect(const SockAddr &addr) SockAddr::SysAddr sa = addr.to_sys(); check_sys_connect_error(::connect(priv->handle, reinterpret_cast(&sa.addr), sa.size)); - delete peer_addr; - peer_addr = addr.copy(); + peer_addr.reset(addr.copy()); - delete local_addr; SockAddr::SysAddr lsa; getsockname(priv->handle, reinterpret_cast(&lsa.addr), &lsa.size); - local_addr = SockAddr::new_from_sys(lsa); + local_addr.reset(SockAddr::new_from_sys(lsa)); connected = true; return true; } -unsigned DatagramSocket::sendto(const char *buf, unsigned size, const SockAddr &addr) +size_t DatagramSocket::sendto(const char *buf, size_t size, const SockAddr &addr) { if(size==0) return 0; @@ -42,13 +40,13 @@ unsigned DatagramSocket::sendto(const char *buf, unsigned size, const SockAddr & return check_sys_error(::sendto(priv->handle, buf, size, 0, reinterpret_cast(&sa.addr), sa.size), "sendto"); } -unsigned DatagramSocket::recvfrom(char *buf, unsigned size, SockAddr *&from_addr) +size_t DatagramSocket::recvfrom(char *buf, size_t size, SockAddr *&from_addr) { if(size==0) return 0; SockAddr::SysAddr sa; - unsigned ret = check_sys_error(::recvfrom(priv->handle, buf, size, 0, reinterpret_cast(&sa.addr), &sa.size), "recvfrom"); + size_t ret = check_sys_error(::recvfrom(priv->handle, buf, size, 0, reinterpret_cast(&sa.addr), &sa.size), "recvfrom"); from_addr = SockAddr::new_from_sys(sa); return ret;