chiark / gitweb /
rescope AFCORE (comment from mdw)
[adns.git] / src / addrfam.c
index 69194cccae4e43007f7c7598e4ad0d01096ecb68..08fe7934d1df72d0c75a9fa8b5c96512248b094a 100644 (file)
@@ -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;