Imported Upstream version 1.4.13+git200906171200

This commit is contained in:
Jan Wagner 2013-11-26 23:56:50 +01:00
parent 4ab9f0d24c
commit d0b8ab8112
362 changed files with 34110 additions and 10773 deletions

View file

@ -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);
}
}