--- connector/include/tcn.h (revision 674214) +++ connector/include/tcn.h (working copy) @@ -278,6 +278,12 @@ else if (F == 2) T = APR_INET6; \ else T = F +#define TCN_GET_S_FAMILY(F, T) \ + if (T == APR_UNSPEC) F = 0; \ + else if (T == APR_INET) F = 1; \ + else if (T == APR_INET6) F = 2; \ + else F = T + #define GET_S_TYPE(T, F) \ if (F == 0) T = SOCK_STREAM; \ else if (F == 1) T = SOCK_DGRAM; \ --- connector/src/info.c (revision 674214) +++ connector/src/info.c (working copy) @@ -201,11 +201,14 @@ static void fill_ainfo(JNIEnv *e, jobject obj, apr_sockaddr_t *info) { + apr_int32_t f; + TCN_GET_S_FAMILY(f, info->family); + SET_AINFO_J(pool, P2J(info->pool)); SET_AINFO_S(hostname, info->hostname); SET_AINFO_S(servname, info->servname); SET_AINFO_I(port, info->port); - SET_AINFO_I(family, info->family); + SET_AINFO_I(family, f); SET_AINFO_J(next, P2J(info->next)); }