chiark / gitweb /
src/, client/: Use the new adns_text2addr/addr2text functions.
[adns.git] / src / addrfam.c
index a357f9e33bc737e861676bc14c37fe208e881030..28bf128996c4bc2f88b96334b6cb8cb981b5f377 100644 (file)
@@ -411,7 +411,8 @@ int adns_addr2text(const struct sockaddr *sa, adns_queryflags flags,
       assert(remain >= IF_NAMESIZE+1/*%*/);
       *scopeptr++= '%'; remain--;
       bool parsedname = 0;
-      af_debug("will print scoped addr %s %% %"PRIu32"", buffer, scope);
+      af_debug("will print scoped addr `%.*s' %% %"PRIu32"",
+              scopeoffset,buffer, scope);
       if (scope <= UINT_MAX /* so we can pass it to if_indextoname */
          && !(flags & adns_qf_addrlit_scope_numeric)
          && addrtext_scope_use_ifname(sa)) {
@@ -443,3 +444,14 @@ int adns_addr2text(const struct sockaddr *sa, adns_queryflags flags,
   if (port_r) *port_r= ntohs(port);
   return 0;
 }
+
+char *adns__sockaddr_ntoa(const struct sockaddr *sa, char *buf) {
+  int err;
+  int len= ADNS_ADDR2TEXT_BUFLEN;
+
+  err= adns_addr2text(sa, 0, buf, &len, 0);
+  if (err == EIO)
+    err= adns_addr2text(sa, adns_qf_addrlit_scope_numeric, buf, &len, 0);
+  assert(!err);
+  return buf;
+}