diff --git a/lib/roken/roken.h.in b/lib/roken/roken.h.in index f4efcbbf0..3d271dc27 100644 --- a/lib/roken/roken.h.in +++ b/lib/roken/roken.h.in @@ -438,7 +438,12 @@ typedef unsigned short sa_family_t; struct sockaddr_storage { u_int8_t __ss_len; sa_family_t __ss_family; - char pad[sizeof(struct sockaddr_in) + char pad[ +#ifdef HAVE_IPV6 + sizeof(struct sockaddr_in6) +#else + sizeof(struct sockaddr_in) +#endif - sizeof(u_int8_t) - sizeof(sa_family_t)]; }; @@ -446,7 +451,13 @@ struct sockaddr_storage { struct sockaddr_storage { sa_family_t __ss_family; - char pad[sizeof(struct sockaddr_in) - sizeof(sa_family_t)]; + char pad[ +#ifdef HAVE_IPV6 + sizeof(struct sockaddr_in6) +#else + sizeof(struct sockaddr_in) +#endif + - sizeof(sa_family_t)]; }; #endif