chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/disorder
[disorder]
/
lib
/
client-common.c
diff --git
a/lib/client-common.c
b/lib/client-common.c
index f344159308e10eb243fd0f7895883897255566d7..c2ea90d920e0a24cdf07b2ac28dcf5a1639616e8 100644
(file)
--- a/
lib/client-common.c
+++ b/
lib/client-common.c
@@
-57,16
+57,16
@@
socklen_t disorder_find_server(struct config *c, unsigned flags,
#if !_WIN32
struct sockaddr_un su;
#endif
#if !_WIN32
struct sockaddr_un su;
#endif
- struct addrinfo *res = 0;
+ struct resolved *res;
+ size_t nres;
char *name = NULL;
socklen_t len;
if(c->connect.af != -1) {
char *name = NULL;
socklen_t len;
if(c->connect.af != -1) {
- res = netaddress_resolve(&c->connect, 0, IPPROTO_TCP);
- if(!res)
+ if(netaddress_resolve(&c->connect, 0, SOCK_STREAM, &res, &nres))
return -1;
return -1;
- sa = res->
ai_addr
;
- len = res->
ai_addr
len;
+ sa = res->
sa
;
+ len = res->len;
} else {
#if _WIN32
disorder_fatal(0, "local connections are not supported on Windows");
} else {
#if _WIN32
disorder_fatal(0, "local connections are not supported on Windows");
@@
-90,6
+90,7
@@
socklen_t disorder_find_server(struct config *c, unsigned flags,
strcpy(su.sun_path, name);
sa = (struct sockaddr *)&su;
len = sizeof su;
strcpy(su.sun_path, name);
sa = (struct sockaddr *)&su;
len = sizeof su;
+ res = 0;
xfree(name);
#endif
}
xfree(name);
#endif
}
@@
-98,7
+99,7
@@
socklen_t disorder_find_server(struct config *c, unsigned flags,
if(namep)
*namep = format_sockaddr(sa);
if(res)
if(namep)
*namep = format_sockaddr(sa);
if(res)
- netaddress_free
addrinfo(
res);
+ netaddress_free
_resolved(res, n
res);
return len;
}
return len;
}