aboutsummaryrefslogtreecommitdiffstats
path: root/util/srv.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/srv.c')
-rw-r--r--util/srv.c13
1 files changed, 10 insertions, 3 deletions
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(r<sizeof(HEADER) || r>2048)
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<rc;i++)
{