X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/4bc76b9c8188ccbcbabda0880a9856cbe53aaae8..97a937c8b7052d9ad87bb20394e1753a65fa3f37:/regress/hcommon.c.m4 diff --git a/regress/hcommon.c.m4 b/regress/hcommon.c.m4 index 03ff5d7..8901574 100644 --- a/regress/hcommon.c.m4 +++ b/regress/hcommon.c.m4 @@ -100,6 +100,10 @@ void Q$1(hm_args_massage($3,void)) { m4_define(`hm_arg_must', `') m4_define(`hm_arg_socktype', ` Tvbf($'`1==SOCK_STREAM ? " $'`1=SOCK_STREAM" : " $'`1=SOCK_DGRAM");') + m4_define(`hm_arg_addrfam', ` + Tvbf($'`1==AF_INET ? " $'`1=AF_INET" : + $'`1==AF_INET6 ? " $'`1=AF_INET6" : + " $'`1=AF_???");') m4_define(`hm_arg_ign', `') m4_define(`hm_arg_fd', `Tvbf(" $'`1=%d",$'`1);') m4_define(`hm_arg_fcntl_cmd_arg', ` @@ -129,11 +133,14 @@ m4_define(`hm_specsyscall', `') m4_include(`hsyscalls.i4') void Tvbaddr(const struct sockaddr *addr, int len) { - const struct sockaddr_in *ai= (const struct sockaddr_in*)addr; - - assert(len==sizeof(struct sockaddr_in)); - assert(ai->sin_family==AF_INET); - Tvbf("%s:%u",inet_ntoa(ai->sin_addr),htons(ai->sin_port)); + char buf[ADNS_ADDR2TEXT_BUFLEN]; + int err, port; + int sz= sizeof(buf); + + err= adns_addr2text(addr, 0, buf,&sz, &port); + assert(!err); + + Tvbf(strchr(buf, ':') ? "[%s]:%d" : "%s:%d", buf,port); } void Tvbbytes(const void *buf, int len) {