chiark
/
gitweb
/
~mdw
/
adns
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Portability fixes (missing struct in_addr, INADDR_LOOPBACK defs, rrs=0
[adns]
/
src
/
event.c
diff --git
a/src/event.c
b/src/event.c
index db3dad68e776168a2c645aa14e801413cf837dd7..582e95c54f893bcde8e1d843f6889b6d1e6e304c 100644
(file)
--- a/
src/event.c
+++ b/
src/event.c
@@
-27,6
+27,8
@@
#include <stdlib.h>
#include <netdb.h>
#include <stdlib.h>
#include <netdb.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#include "internal.h"
#include <arpa/inet.h>
#include "internal.h"
@@
-100,7
+102,7
@@
void adns__tcp_tryconnect(adns_state ads, struct timeval now) {
addr.sin_family= AF_INET;
addr.sin_port= htons(DNS_PORT);
addr.sin_addr= ads->servers[ads->tcpserver].addr;
addr.sin_family= AF_INET;
addr.sin_port= htons(DNS_PORT);
addr.sin_addr= ads->servers[ads->tcpserver].addr;
- r= connect(fd,&addr,sizeof(addr));
+ r= connect(fd,
(const struct sockaddr*)
&addr,sizeof(addr));
ads->tcpsocket= fd;
ads->tcpstate= server_connecting;
if (r==0) { tcp_connected(ads,now); continue; }
ads->tcpsocket= fd;
ads->tcpstate= server_connecting;
if (r==0) { tcp_connected(ads,now); continue; }
@@
-305,7
+307,8
@@
static int internal_callback(adns_state ads, int maxfd,
count++;
for (;;) {
udpaddrlen= sizeof(udpaddr);
count++;
for (;;) {
udpaddrlen= sizeof(udpaddr);
- r= recvfrom(ads->udpsocket,udpbuf,sizeof(udpbuf),0,&udpaddr,&udpaddrlen);
+ r= recvfrom(ads->udpsocket,udpbuf,sizeof(udpbuf),0,
+ (struct sockaddr*)&udpaddr,&udpaddrlen);
if (r<0) {
if (!(errno == EAGAIN || errno == EWOULDBLOCK ||
errno == EINTR || errno == ENOMEM || errno == ENOBUFS))
if (r<0) {
if (!(errno == EAGAIN || errno == EWOULDBLOCK ||
errno == EINTR || errno == ENOMEM || errno == ENOBUFS))