X-Git-Url: http://git.tdb.fi/?p=libs%2Fnet.git;a=blobdiff_plain;f=source%2Fnet%2Fstreamsocket.cpp;fp=source%2Fnet%2Fstreamsocket.cpp;h=02a7b54ede3c6591031c4eac7b16ff7b478f7044;hp=c8eb1c488ac365d6471469ca59ffc2b034c78b45;hb=ede42d5bb352841e2e425972e12b8ef31ddf2123;hpb=1565dec0f4a86e4bda7095dd7415234f7c7a84e9 diff --git a/source/net/streamsocket.cpp b/source/net/streamsocket.cpp index c8eb1c4..02a7b54 100644 --- a/source/net/streamsocket.cpp +++ b/source/net/streamsocket.cpp @@ -34,13 +34,11 @@ bool StreamSocket::connect(const SockAddr &addr) set_socket_events(S_CONNECT); } - 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)); if(finished) { @@ -99,10 +97,7 @@ void StreamSocket::on_event(IO::PollEvent ev) signal_connect_finished.emit(0); if(err!=0) - { - delete peer_addr; - peer_addr = nullptr; - } + peer_addr.reset(); set_socket_events((err==0) ? S_INPUT : S_NONE); }