62     if (rr->
type == T_A) {
 
   75         sa->sa_len = sock_addr_len;
 
   77         *sa_length = sock_addr_len;
 
   81     } 
else if (rr->
type == T_AAAA) {
 
   82     if (rr->
data_len != 
sizeof(SOCK_ADDR_IN6_ADDR(sa))) {
 
   85     } 
else if ((sock_addr_len = 
sizeof(*SOCK_ADDR_IN6_PTR(sa))) > *sa_length) {
 
   89         memset((
void *) SOCK_ADDR_IN6_PTR(sa), 0, sock_addr_len);
 
   90         SOCK_ADDR_IN6_FAMILY(sa) = AF_INET6;
 
   91         SOCK_ADDR_IN6_PORT(sa) = port;
 
   92         SOCK_ADDR_IN6_ADDR(sa) = IN6_ADDR(rr->
data);
 
   94         sa->sa_len = sock_addr_len;
 
   96         *sa_length = sock_addr_len;
 
  101     errno = EAFNOSUPPORT;
 
  116 static const char *myname;
 
  120     msg_fatal(
"usage: %s dnsaddrtype hostname portnumber", myname);
 
  123 int     main(
int argc, 
char **argv)
 
  128     struct sockaddr_storage ss;
 
  129     struct sockaddr *sa = (
struct sockaddr *) &ss;
 
  141     if (argv[1] == 0 || argv[2] == 0)
 
  143     if ((type = 
dns_type(argv[0])) == 0)
 
  145     if (!
alldig(argv[2]) || (port = atoi(argv[2])) > 65535)
 
  149     sa_length = 
sizeof(ss);
 
  154                argv[1], argv[2], hostaddr.
buf, portnum.
buf);
 
int main(int argc, char **argv)
#define SOCK_ADDR_IN_FAMILY(sa)
#define SOCKADDR_TO_HOSTADDR(sa, salen, host, port, sock)
int dns_rr_to_sa(DNS_RR *rr, unsigned port, struct sockaddr *sa, SOCKADDR_SIZE *sa_length)
int alldig(const char *string)
char buf[MAI_HOSTADDR_STRSIZE]
VSTREAM * vstream_printf(const char *fmt,...)
VSTRING * vstring_alloc(ssize_t len)
NORETURN msg_fatal(const char *fmt,...)
int vstream_fflush(VSTREAM *stream)
unsigned dns_type(const char *)
#define SOCK_ADDR_IN_PTR(sa)
VSTRING * vstring_free(VSTRING *vp)
char buf[MAI_SERVPORT_STRSIZE]
#define SOCK_ADDR_IN_ADDR(sa)
void dns_rr_free(DNS_RR *)
#define dns_lookup(name, type, rflags, list, fqdn, why)
#define SOCK_ADDR_IN_PORT(sa)