Imported Upstream version 1.4.13+git200906171200
This commit is contained in:
parent
4ab9f0d24c
commit
d0b8ab8112
362 changed files with 34110 additions and 10773 deletions
|
@ -1,5 +1,5 @@
|
|||
/* Get address information (partial implementation).
|
||||
Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006, 2007 Free Software
|
||||
Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006, 2007, 2008 Free Software
|
||||
Foundation, Inc.
|
||||
Contributed by Simon Josefsson <simon@josefsson.org>.
|
||||
|
||||
|
@ -19,12 +19,15 @@
|
|||
|
||||
#include <config.h>
|
||||
|
||||
#include "getaddrinfo.h"
|
||||
#include <netdb.h>
|
||||
|
||||
#if HAVE_NETINET_IN_H
|
||||
# include <netinet/in.h>
|
||||
#endif
|
||||
|
||||
/* Get inet_ntop. */
|
||||
#include <arpa/inet.h>
|
||||
|
||||
/* Get calloc. */
|
||||
#include <stdlib.h>
|
||||
|
||||
|
@ -40,8 +43,6 @@
|
|||
#define _(String) gettext (String)
|
||||
#define N_(String) String
|
||||
|
||||
#include "inet_ntop.h"
|
||||
|
||||
/* BeOS has AF_INET, but not PF_INET. */
|
||||
#ifndef PF_INET
|
||||
# define PF_INET AF_INET
|
||||
|
@ -300,6 +301,22 @@ getaddrinfo (const char *restrict nodename,
|
|||
tmp->ai_addr->sa_family = he->h_addrtype;
|
||||
tmp->ai_family = he->h_addrtype;
|
||||
|
||||
#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
|
||||
switch (he->h_addrtype)
|
||||
{
|
||||
#if HAVE_IPV4
|
||||
case AF_INET:
|
||||
tmp->ai_addr->sa_len = sizeof (struct sockaddr_in);
|
||||
break;
|
||||
#endif
|
||||
#if HAVE_IPV6
|
||||
case AF_INET6:
|
||||
tmp->ai_addr->sa_len = sizeof (struct sockaddr_in6);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
/* FIXME: If more than one address, create linked list of addrinfo's. */
|
||||
|
||||
*res = tmp;
|
||||
|
@ -326,7 +343,7 @@ freeaddrinfo (struct addrinfo *ai)
|
|||
cur = ai;
|
||||
ai = ai->ai_next;
|
||||
|
||||
if (cur->ai_canonname) free (cur->ai_canonname);
|
||||
free (cur->ai_canonname);
|
||||
free (cur);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue