X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=regress%2Fhcommon.c.m4;h=dfd0f280a55c431722fcb03e307aee43ecadc234;hp=03ff5d7177be3717be5700e194434a503b7a1b84;hb=b582ca0f999ffd51e26c5543d2023ea137af3bec;hpb=4bc76b9c8188ccbcbabda0880a9856cbe53aaae8 diff --git a/regress/hcommon.c.m4 b/regress/hcommon.c.m4 index 03ff5d7..dfd0f28 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==PF_INET ? " $'`1=PF_INET" : + $'`1==PF_INET6 ? " $'`1=PF_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) {