From: Ian Jackson Date: Wed, 28 May 2014 17:09:33 +0000 (+0100) Subject: rescope AFCORE (comment from mdw) X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=62c62d6157455cb9413ede27761b1b7b3ec00631;p=adns.git rescope AFCORE (comment from mdw) --- diff --git a/src/addrfam.c b/src/addrfam.c index 69194cc..08fe793 100644 --- a/src/addrfam.c +++ b/src/addrfam.c @@ -228,14 +228,14 @@ int adns_text2addr(const char *addr, uint16_t port, struct sockaddr *sa, return EINVAL; \ }while(0) - if (!strchr(addr, ':')) { /* INET */ - #define AFCORE(INETx,SINx,sinx) \ af= AF_##INETx; \ dst = &SINx(sa)->sinx##_addr; \ portp = &SINx(sa)->sinx##_port; \ needlen= sizeof(*SINx(sa)); + if (!strchr(addr, ':')) { /* INET */ + AFCORE(INET,SIN,sin); } else { /* INET6 */ @@ -255,10 +255,10 @@ int adns_text2addr(const char *addr, uint16_t port, struct sockaddr *sa, af_debug("will parse scoped address `%s' %% `%s'", parse, scopestr); } -#undef AFCORE - } +#undef AFCORE + if (*salen < needlen) { *salen = needlen; return ENOSPC;