IPADDR::IPADDR(const IPADDR &src) : type(src.type)
{
- memcpy(&buf, &src.buf, sizeof(buf));
- saddr = &buf.dontuse;
- saddr4 = &buf.dontuse4;
+ memcpy(&saddrbuf, &src.saddrbuf, sizeof(saddrbuf));
+ saddr = &saddrbuf.dontuse;
+ saddr4 = &saddrbuf.dontuse4;
#ifdef HAVE_IPV6
- saddr6 = &buf.dontuse6;
+ saddr6 = &saddrbuf.dontuse6;
#endif
}
if (!(af == AF_INET6 || af == AF_INET)) {
Emsg1(M_ERROR_TERM, 0, _("Only ipv4 and ipv6 are supported(%d)\n"), af);
}
- saddr = &buf.dontuse;
- saddr4 = &buf.dontuse4;
+ saddr = &saddrbuf.dontuse;
+ saddr4 = &saddrbuf.dontuse4;
#ifdef HAVE_IPV6
- saddr6 = &buf.dontuse6;
+ saddr6 = &saddrbuf.dontuse6;
#endif
saddr->sa_family = af;
if (af == AF_INET) {
class IPADDR : public SMARTALLOC {
-// class IPADDR {
public:
typedef enum { R_SINGLE, R_SINGLE_PORT, R_SINGLE_ADDR, R_MULTIPLE,
R_DEFAULT, R_EMPTY
#ifdef HAVE_IPV6
struct sockaddr_in6 dontuse6;
#endif
- } buf;
+ } saddrbuf;
struct sockaddr *saddr;
struct sockaddr_in *saddr4;
#ifdef HAVE_IPV6