- size = sizeof(sockaddr_storage);
- getsockname(priv->handle, reinterpret_cast<sockaddr *>(&sa), &size);
- local_addr = SockAddr::create(sa);
+ SockAddr::SysAddr lsa;
+ getsockname(priv->handle, reinterpret_cast<sockaddr *>(&lsa.addr), &lsa.size);
+ local_addr = SockAddr::from_sys(lsa);