+
+#else /* CONFIG_IPV6 => we have adns_addr2text */
+
+ static char bufs[IADDR_NBUFS][1+ADNS_ADDR2TEXT_BUFLEN+20];
+
+ int port;
+
+ char *addrbuf = bufs[b];
+ *addrbuf++ = '[';
+ int addrbuflen = ADNS_ADDR2TEXT_BUFLEN;
+
+ int r = adns_addr2text(&ia->sa, 0, addrbuf, &addrbuflen, &port);
+ if (r) {
+ const char fmt[]= "scoped IPv6 addr, error: %.*s";
+ sprintf(addrbuf, fmt,
+ ADNS_ADDR2TEXT_BUFLEN - sizeof(fmt) /* underestimate */,
+ strerror(r));
+ }
+
+ char *portbuf = addrbuf;
+ int addrl = strlen(addrbuf);
+ portbuf += addrl;
+
+ snprintf(portbuf, sizeof(bufs[b])-addrl, "]:%d", port);
+
+#endif /* CONFIG_IPV6 */
+