/*
* HTTP address list routines for CUPS.
*
- * Copyright 2007-2017 by Apple Inc.
+ * Copyright 2007-2018 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
- * Licensed under Apache License v2.0. See the file "LICENSE" for more information.
+ * Licensed under Apache License v2.0. See the file "LICENSE" for more
+ * information.
*/
/*
#ifdef HAVE_POLL
# include <poll.h>
#endif /* HAVE_POLL */
-#ifndef WIN32
+#ifndef _WIN32
# include <fcntl.h>
-#endif /* WIN32 */
+#endif /* _WIN32 */
/*
int *cancel) /* I - Pointer to "cancel" variable */
{
int val; /* Socket option value */
-#ifndef WIN32
+#ifndef _WIN32
int flags; /* Socket flags */
-#endif /* !WIN32 */
+#endif /* !_WIN32 */
int remaining; /* Remaining timeout */
int i, j, /* Looping vars */
nfds, /* Number of file descriptors */
return (addrlist);
}
-#ifdef WIN32
+#ifdef _WIN32
if (WSAGetLastError() != WSAEINPROGRESS && WSAGetLastError() != WSAEWOULDBLOCK)
#else
if (errno != EINPROGRESS && errno != EWOULDBLOCK)
-#endif /* WIN32 */
+#endif /* _WIN32 */
{
DEBUG_printf(("1httpAddrConnect2: Unable to connect to %s:%d: %s", httpAddrString(&(addrlist->addr), temp, sizeof(temp)), httpAddrPort(&(addrlist->addr)), strerror(errno)));
httpAddrClose(NULL, fds[nfds]);
continue;
}
-#ifndef WIN32
+#ifndef _WIN32
fcntl(fds[nfds], F_SETFL, flags);
-#endif /* !WIN32 */
+#endif /* !_WIN32 */
#ifndef HAVE_POLL
if (fds[nfds] > max_fd)
DEBUG_printf(("1httpAddrConnect2: select() returned %d (%d)", result, errno));
# endif /* HAVE_POLL */
}
-# ifdef WIN32
+# ifdef _WIN32
while (result < 0 && (WSAGetLastError() == WSAEINTR || WSAGetLastError() == WSAEWOULDBLOCK));
# else
while (result < 0 && (errno == EINTR || errno == EAGAIN));
-# endif /* WIN32 */
+# endif /* _WIN32 */
if (result > 0)
{
httpAddrClose(NULL, fds[nfds]);
}
-#ifdef WIN32
+#ifdef _WIN32
_cupsSetError(IPP_STATUS_ERROR_SERVICE_UNAVAILABLE, "Connection failed", 0);
#else
_cupsSetError(IPP_STATUS_ERROR_SERVICE_UNAVAILABLE, strerror(errno), 0);
-#endif /* WIN32 */
+#endif /* _WIN32 */
return (NULL);
}
if (!temp)
{
httpAddrFreeList(first);
+ freeaddrinfo(results);
_cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
return (NULL);
}
temp->addr.ipv6.sin6_family = AF_INET6;
temp->addr.ipv6.sin6_port = htons(portnum);
-# ifdef WIN32
+# ifdef _WIN32
temp->addr.ipv6.sin6_addr.u.Byte[15] = 1;
# else
temp->addr.ipv6.sin6_addr.s6_addr32[3] = htonl(1);
-# endif /* WIN32 */
+# endif /* _WIN32 */
if (!first)
first = temp;