/*
- * "$Id: http-addrlist.c 7910 2008-09-06 00:25:17Z mike $"
+ * "$Id$"
*
- * HTTP address list routines for CUPS.
+ * HTTP address list routines for CUPS.
*
- * Copyright 2007-2012 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ * Copyright 2007-2013 by Apple Inc.
+ * Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
- * These coded instructions, statements, and computer programs are the
- * property of Apple Inc. and are protected by Federal copyright
- * law. Distribution and use rights are outlined in the file "LICENSE.txt"
- * which should have been included with this file. If this file is
- * file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- * httpAddrConnect() - Connect to any of the addresses in the list.
- * httpAddrConnect2() - Connect to any of the addresses in the list with a
- * timeout and optional cancel.
- * httpAddrCopyList() - Copy an address list.
- * httpAddrFreeList() - Free an address list.
- * httpAddrGetList() - Get a list of addresses for a hostname.
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
*/
/*
# include <poll.h>
#endif /* HAVE_POLL */
#ifndef WIN32
-# include <sys/fcntl.h>
+# include <fcntl.h>
#endif /* WIN32 */
* 'httpAddrConnect2()' - Connect to any of the addresses in the list with a
* timeout and optional cancel.
*
- * @since CUPS 1.6/OS X 10.8@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_addrlist_t * /* O - Connected address or NULL on failure */
if (!sock)
{
errno = EINVAL;
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
return (NULL);
}
httpAddrString(&(addrlist->addr), temp, sizeof(temp)),
httpAddrPort(&(addrlist->addr))));
- if ((*sock = (int)socket(_httpAddrFamily(&(addrlist->addr)), SOCK_STREAM,
+ if ((*sock = (int)socket(httpAddrFamily(&(addrlist->addr)), SOCK_STREAM,
0)) < 0)
{
/*
DEBUG_puts("1httpAddrConnect2: Canceled connect()");
-# ifdef WIN32
- closesocket(*sock);
-# else
- close(*sock);
-# endif /* WIN32 */
+ httpAddrClose(NULL, *sock);
*sock = -1;
* Close this socket and move to the next address...
*/
-#ifdef WIN32
- closesocket(*sock);
-#else
- close(*sock);
-#endif /* WIN32 */
+ httpAddrClose(NULL, *sock);
*sock = -1;
addrlist = addrlist->next;
if (!addrlist)
#ifdef WIN32
- _cupsSetError(IPP_SERVICE_UNAVAILABLE, "Connection failed", 0);
+ _cupsSetError(IPP_STATUS_ERROR_SERVICE_UNAVAILABLE, "Connection failed", 0);
#else
- _cupsSetError(IPP_SERVICE_UNAVAILABLE, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_SERVICE_UNAVAILABLE, strerror(errno), 0);
#endif /* WIN32 */
return (addrlist);
/*
* 'httpAddrCopyList()' - Copy an address list.
*
- * @since CUPS 1.7@
+ * @since CUPS 1.7/OS X 10.9@
*/
http_addrlist_t * /* O - New address list or @code NULL@ on error */
if (!temp)
{
httpAddrFreeList(first);
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
return (NULL);
}
if (error == EAI_FAIL)
cg->need_res_init = 1;
- _cupsSetError(IPP_INTERNAL_ERROR, gai_strerror(error), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, gai_strerror(error), 0);
}
#else
return (NULL);
first->addr.ipv4.sin_family = AF_INET;
- first->addr.ipv4.sin_addr.s_addr = htonl(((((((ip[0] << 8) |
- ip[1]) << 8) |
- ip[2]) << 8) | ip[3]));
+ first->addr.ipv4.sin_addr.s_addr = htonl((((((((unsigned)ip[0] << 8) |
+ (unsigned)ip[1]) << 8) |
+ (unsigned)ip[2]) << 8) |
+ (unsigned)ip[3]));
first->addr.ipv4.sin_port = htons(portnum);
}
}
if (h_errno == NO_RECOVERY)
cg->need_res_init = 1;
- _cupsSetError(IPP_INTERNAL_ERROR, hstrerror(h_errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, hstrerror(h_errno), 0);
}
}
#endif /* HAVE_GETADDRINFO */
{
httpAddrFreeList(first);
- _cupsSetError(IPP_INTERNAL_ERROR, _("Unknown service name."), 1);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, _("Unknown service name."), 1);
return (NULL);
}
temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
if (!temp)
{
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
httpAddrFreeList(first);
return (NULL);
}
temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
if (!temp)
{
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
httpAddrFreeList(first);
return (NULL);
}
temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
if (!temp)
{
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
httpAddrFreeList(first);
return (NULL);
}
temp = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t));
if (!temp)
{
- _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
+ _cupsSetError(IPP_STATUS_ERROR_INTERNAL, strerror(errno), 0);
httpAddrFreeList(first);
return (NULL);
}
/*
- * End of "$Id: http-addrlist.c 7910 2008-09-06 00:25:17Z mike $".
+ * End of "$Id$".
*/