X-Git-Url: https://git.distorted.org.uk/~mdw/adns/blobdiff_plain/ae8cc9775a6eb23901a89a2604f73525b0553db8..97a937c8b7052d9ad87bb20394e1753a65fa3f37:/regress/hcommon.c.m4 diff --git a/regress/hcommon.c.m4 b/regress/hcommon.c.m4 index 0f205fe..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', ` @@ -113,7 +117,7 @@ void Q$1(hm_args_massage($3,void)) { m4_define(`hm_arg_addr_in', `Tvba(" $'`1="); Tvbaddr($'`1,$'`2);') m4_define(`hm_arg_bytes_in', `') m4_define(`hm_arg_bytes_out', `Tvbf(" $'`4=%lu",(unsigned long)$'`4);') - m4_define(`hm_arg_addr_out', `Tvbf(" *$'`2=%d",$'`2);') + m4_define(`hm_arg_addr_out', `') $3 hm_create_nothing @@ -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) {