diff --git a/util/ChangeLog b/util/ChangeLog index 73a8adb0c..81466c710 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,3 +1,8 @@ +2009-07-23 David Shaw + + * srv.c (getsrv): Fix type-punning warning. + (main): Allow testing any SRV. + 2009-07-21 Werner Koch * ttyio.c (tty_printf): Replace vasprintf by xtryasprintf. diff --git a/util/srv.c b/util/srv.c index 521b1c297..1e23887ca 100644 --- a/util/srv.c +++ b/util/srv.c @@ -58,6 +58,7 @@ getsrv(const char *name,struct srventry **list) int r,srvcount=0; unsigned char *pt,*emsg; u16 count,dlen; + HEADER *header=(HEADER *)answer; *list=NULL; @@ -65,8 +66,7 @@ getsrv(const char *name,struct srventry **list) if(r2048) return -1; - if((((HEADER *)answer)->rcode)==NOERROR && - (count=ntohs(((HEADER *)answer)->ancount))) + if(header->rcode==NOERROR && (count=ntohs(header->ancount))) { int i,rc; @@ -234,7 +234,14 @@ main(int argc,char *argv[]) struct srventry *srv; int rc,i; - rc=getsrv("_hkp._tcp.wwwkeys.pgp.net",&srv); + if(argc!=2) + { + fprintf(stderr,"%s {srv}\n",argv[0]); + fprintf(stderr," Try %s _hkp._tcp.wwwkeys.pgp.net\n",argv[0]); + return 1; + } + + rc=getsrv(argv[1],&srv); printf("Count=%d\n\n",rc); for(i=0;i