chiark / gitweb /
Portability fixes (missing struct in_addr, INADDR_LOOPBACK defs, rrs=0
authorian <ian>
Sat, 8 May 1999 15:40:59 +0000 (15:40 +0000)
committerian <ian>
Sat, 8 May 1999 15:40:59 +0000 (15:40 +0000)
ipv rrs.untyped=0, -lsocket, etc.

changelog
src/query.c
src/setup.c
src/transmit.c
src/types.c

index e1fa705259536a2d5c319c1ea9f43aa0bf7f36bf..386c190931644975ace5a846406f6b83bb37b433 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,8 +1,18 @@
+adns (0.2) experimental; urgency=low
+
+  Portability fixes:
+  * Include <sys/socket.h> and <netinet/in.h> in files with <arpa/inet.h>.
+  * Don't use GCC union assignment feature (.rrs=0 => .rrs.untyped=0).
+  * Explictly cast things to [const] struct sockaddr* in syscall args.
+  * Check whether we need -lsocket.
+
+ --
+
 adns (0.1) experimental; urgency=low
 
   * Initial public alpha release.
 
- --
+ -- Ian Jackson <ian@davenant.greenend.org.uk>  Sat, 17 April 1999 17:42:19
 
 Local variables:
 mode: debian-changelog
index 0debcd1d4dfffd7d2fb1ec0b290fcd547df4b726..2302c811705f630a49ed29ef6a29af6eab11c726 100644 (file)
@@ -76,7 +76,7 @@ static adns_query query_alloc(adns_state ads, const typeinfo *typei,
   qu->answer->type= typei->type;
   qu->answer->expires= -1;
   qu->answer->nrrs= 0;
-  qu->answer->rrs= 0;
+  qu->answer->rrs.untyped= 0;
   qu->answer->rrsz= typei->rrsz;
 
   return qu;
@@ -334,7 +334,7 @@ void adns__reset_cnameonly(adns_query qu) {
   assert(!qu->final_allocspace);
   cancel_children(qu);
   qu->answer->nrrs= 0;
-  qu->answer->rrs= 0;
+  qu->answer->rrs.untyped= 0;
   qu->interim_allocd= qu->answer->cname ? MEM_ROUND(strlen(qu->answer->cname)+1) : 0;
 }
 
index 78333563ccbb55901f72d0bf2b7e70696acbc75a..2765dc4a8d3c884fb3ccc785f38bed549216447c 100644 (file)
@@ -29,6 +29,8 @@
 #include <fcntl.h>
 
 #include <netdb.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
 #include <arpa/inet.h>
 
 #include "internal.h"
index 84df59f1d0e9614e13fc80ca60bf5cc0d689e6dc..e373b48c77bdb010f0f1ac9a451af939f98aac33 100644 (file)
@@ -24,6 +24,7 @@
 #include <errno.h>
 #include <string.h>
 
+#include <sys/types.h>
 #include <sys/uio.h>
 
 #include "internal.h"
@@ -234,7 +235,8 @@ void adns__query_udp(adns_query qu, struct timeval now) {
   servaddr.sin_addr= ads->servers[serv].addr;
   servaddr.sin_port= htons(DNS_PORT);
   
-  r= sendto(ads->udpsocket,qu->query_dgram,qu->query_dglen,0,&servaddr,sizeof(servaddr));
+  r= sendto(ads->udpsocket,qu->query_dgram,qu->query_dglen,0,
+           (const struct sockaddr*)&servaddr,sizeof(servaddr));
   if (r<0 && errno == EMSGSIZE) { query_usetcp(qu,now); return; }
   if (r<0) adns__warn(ads,serv,0,"sendto failed: %s",strerror(errno));
   
index 50fb1e8d91c0c98b4143577165736191f5416aae..042675afe949b70b69f928a48dad558f1bb000f0 100644 (file)
@@ -23,6 +23,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include <sys/socket.h>
+#include <netinet/in.h>
 #include <arpa/inet.h>
 
 #include "internal.h"