* srv.c (getsrv): Fix type-punning warning. (main): Allow testing any
authorDavid Shaw <dshaw@jabberwocky.com>
Thu, 23 Jul 2009 19:05:19 +0000 (19:05 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Thu, 23 Jul 2009 19:05:19 +0000 (19:05 +0000)
SRV.

util/ChangeLog
util/srv.c

index 73a8adb..81466c7 100644 (file)
@@ -1,3 +1,8 @@
+2009-07-23  David Shaw  <dshaw@jabberwocky.com>
+
+       * srv.c (getsrv): Fix type-punning warning.
+       (main): Allow testing any SRV.
+
 2009-07-21  Werner Koch  <wk@g10code.com>
 
        * ttyio.c (tty_printf): Replace vasprintf by xtryasprintf.
index 521b1c2..1e23887 100644 (file)
@@ -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++)
     {