1 <<<<<<< HEAD:gnulib/regenerate/getaddrinfo-cygwin.patch
2 --- gnulib/getaddrinfo.c 2007-03-06 13:17:25.733225500 -0600
3 +++ gnulib/getaddrinfo.c 2007-03-06 13:17:32.345638750 -0600
8 --- gnulib/getaddrinfo.c.orig 2007-10-25 16:46:34.728843739 -0500
9 +++ gnulib/getaddrinfo.c 2007-10-25 16:47:17.395395249 -0500
12 #include "inet_ntop.h"
13 >>>>>>> fb2bd066c2f8b34addafe48d62550e3033a59431:gnulib/regenerate/getaddrinfo-cygwin.patch
17 /* BeOS has AF_INET, but not PF_INET. */
19 # define PF_INET AF_INET
20 <<<<<<< HEAD:gnulib/regenerate/getaddrinfo-cygwin.patch
24 >>>>>>> fb2bd066c2f8b34addafe48d62550e3033a59431:gnulib/regenerate/getaddrinfo-cygwin.patch
25 return getaddrinfo_ptr (nodename, servname, hints, res);
28 - if (hints && (hints->ai_flags & ~(AI_CANONNAME|AI_PASSIVE)))
29 + if (hints && (hints->ai_flags & ~(AI_CANONNAME | AI_PASSIVE)))
30 /* FIXME: Support more flags. */
33 if (hints && !validate_family (hints->ai_family))
37 - hints->ai_socktype != SOCK_STREAM && hints->ai_socktype != SOCK_DGRAM)
38 - /* FIXME: Support other socktype. */
39 - return EAI_SOCKTYPE; /* FIXME: Better return code? */
40 + if ((hints != NULL) &&
41 + (hints->ai_socktype != 0) &&
42 + (hints->ai_socktype != SOCK_STREAM) &&
43 + (hints->ai_socktype != SOCK_DGRAM))
45 + /* FIXME: Support other socktype. */
46 + return EAI_SOCKTYPE; /* FIXME: Better return code? */
51 - if (!(hints->ai_flags & AI_PASSIVE))
52 + if (hints && !(hints->ai_flags & AI_PASSIVE))
56 - nodename = (hints->ai_family == AF_INET6) ? "::" : "0.0.0.0";
57 + nodename = (hints && (hints->ai_family == AF_INET6)) ? "::" : "0.0.0.0";
61 <<<<<<< HEAD:gnulib/regenerate/getaddrinfo-cygwin.patch
64 struct servent *se = NULL;
66 - (hints && hints->ai_socktype == SOCK_DGRAM) ? "udp" : "tcp";
67 + (hints && (hints->ai_socktype == SOCK_DGRAM)) ? "udp" : "tcp";
69 - if (!(hints->ai_flags & AI_NUMERICSERV))
70 - /* FIXME: Use getservbyname_r if available. */
71 - se = getservbyname (servname, proto);
72 + if ((hints == NULL) || !(hints->ai_flags & AI_NUMERICSERV))
74 + /* FIXME: Use getservbyname_r if available. */
75 + se = getservbyname (servname, proto);
83 >>>>>>> fb2bd066c2f8b34addafe48d62550e3033a59431:gnulib/regenerate/getaddrinfo-cygwin.patch
86 /* FIXME: Use gethostbyname_r if available. */
87 - he = gethostbyname (nodename);
88 + he = gethostbyname(nodename);
89 if (!he || he->h_addr_list[0] == NULL)
92 <<<<<<< HEAD:gnulib/regenerate/getaddrinfo-cygwin.patch
96 >>>>>>> fb2bd066c2f8b34addafe48d62550e3033a59431:gnulib/regenerate/getaddrinfo-cygwin.patch
100 - if (hints && hints->ai_flags & AI_CANONNAME)
101 + if (hints && (hints->ai_flags & AI_CANONNAME))
105 <<<<<<< HEAD:gnulib/regenerate/getaddrinfo-cygwin.patch
109 >>>>>>> fb2bd066c2f8b34addafe48d62550e3033a59431:gnulib/regenerate/getaddrinfo-cygwin.patch
112 /* FIXME: Support other flags. */
113 - if ((node && nodelen > 0 && !(flags & NI_NUMERICHOST)) ||
114 - (service && servicelen > 0 && !(flags & NI_NUMERICHOST)) ||
115 - (flags & ~(NI_NUMERICHOST|NI_NUMERICSERV)))
116 + if (flags & ~(NI_NUMERICHOST | NI_NUMERICSERV))
119 if (sa == NULL || salen < sizeof (sa->sa_family))
120 <<<<<<< HEAD:gnulib/regenerate/getaddrinfo-cygwin.patch
121 @@ -367,34 +373,89 @@
123 @@ -369,34 +373,89 @@
124 >>>>>>> fb2bd066c2f8b34addafe48d62550e3033a59431:gnulib/regenerate/getaddrinfo-cygwin.patch
128 - if (node && nodelen > 0 && flags & NI_NUMERICHOST)
129 + if (node && (nodelen > 0))
133 switch (sa->sa_family)
137 - if (!inet_ntop (AF_INET,
138 + if (flags & NI_NUMERICHOST)
140 + if (!inet_ntop (AF_INET,
141 &(((const struct sockaddr_in *) sa)->sin_addr),
144 + addrbuf, sizeof(addrbuf)))
149 + struct hostent *host_ent = gethostbyaddr(
150 + (char *)&(((struct sockaddr_in *)sa)->sin_addr),
151 + sizeof(struct sockaddr_in),
153 + if (host_ent != NULL)
155 + if (nodelen <= snprintf(node, nodelen, "%s",
157 + return EAI_OVERFLOW;
161 + if (!inet_ntop (AF_INET,
162 + &(((const struct sockaddr_in *) sa)->sin_addr),
163 + addrbuf, sizeof(addrbuf)))
167 + if (nodelen <= snprintf(node, nodelen, "%s", addrbuf))
168 + return EAI_OVERFLOW;
176 - if (!inet_ntop (AF_INET6,
177 + if (flags & NI_NUMERICHOST)
179 + if (!inet_ntop (AF_INET6,
180 + &(((const struct sockaddr_in6 *) sa)->sin6_addr),
181 + addrbuf, sizeof(addrbuf)))
186 + struct hostent *host_ent = gethostbyaddr(
187 + (char *)&(((struct sockaddr_in6 *)sa)->sin6_addr),
188 + sizeof(struct sockaddr_in6),
190 + if (host_ent != NULL)
192 + if (nodelen <= snprintf(node, nodelen, "%s",
194 + return EAI_OVERFLOW;
198 + if (!inet_ntop (AF_INET6,
199 &(((const struct sockaddr_in6 *) sa)->sin6_addr),
202 + addrbuf, sizeof(addrbuf)))
206 + if (nodelen <= snprintf(node, nodelen, "%s", addrbuf))
207 + return EAI_OVERFLOW;
218 - if (service && servicelen > 0 && flags & NI_NUMERICSERV)
219 + if (service && (servicelen > 0))
220 switch (sa->sa_family)