X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=regress%2Fhcommon.c.m4;h=d8b9821c94e86b470a03118a3e5494f5cf2b2d5c;hb=84ada014b1bf2cf7e5a38320be7371dbbf91bb23;hp=0f205fe23e59f711356c01dec7da8c1f6b657812;hpb=ae8cc9775a6eb23901a89a2604f73525b0553db8;p=adns.git diff --git a/regress/hcommon.c.m4 b/regress/hcommon.c.m4 index 0f205fe..d8b9821 100644 --- a/regress/hcommon.c.m4 +++ b/regress/hcommon.c.m4 @@ -113,7 +113,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 +129,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) {