+int iodns_print_address(struct IODNSAddress *address, int ipv6, char *buffer, int length) {
+ int af;
+ void *addr;
+ if(ipv6) {
+ af = AF_INET6;
+ addr = (void *)(&((struct sockaddr_in6 *)address->address)->sin6_addr);
+ } else {
+ af = AF_INET;
+ addr = (void *)(&((struct sockaddr_in *)address->address)->sin_addr);
+ }
+ buffer = inet_ntop(af, addr, buffer, length);
+ if(!buffer)
+ return 0;
+ else
+ return strlen(buffer);
+}
+