X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=nanohttp.c;h=e109ad753c6b9bc089f336bc2a684eff6b97e63f;hb=01021030a4e2b351e9ce5f5af13aaf1c14ba0648;hp=ac47ea679956088b5268a452841c6bc6f83073d4;hpb=4e8fa1efca3c71ef7e0c515afb175e849a97d416;p=platform%2Fupstream%2Flibxml2.git diff --git a/nanohttp.c b/nanohttp.c index ac47ea6..e109ad7 100644 --- a/nanohttp.c +++ b/nanohttp.c @@ -461,7 +461,7 @@ xmlNanoHTTPSend(xmlNanoHTTPCtxtPtr ctxt, const char *xmt_ptr, int outlen) if ((ctxt->state & XML_NANO_HTTP_WRITE) && (xmt_ptr != NULL)) { while (total_sent < outlen) { - int nsent = send(ctxt->fd, xmt_ptr + total_sent, + int nsent = send(ctxt->fd, SEND_ARG2_CAST (xmt_ptr + total_sent), outlen - total_sent, 0); if (nsent > 0) @@ -1003,6 +1003,7 @@ xmlNanoHTTPConnectAttempt(struct sockaddr *addr) 0) { /* Solaris error code */ __xmlIOErr(XML_FROM_HTTP, 0, "getsockopt failed\n"); + closesocket(s); return INVALID_SOCKET; } #endif @@ -1121,7 +1122,7 @@ xmlNanoHTTPConnectHost(const char *host, int port) #endif #if !defined(HAVE_GETADDRINFO) || !defined(_WIN32) { - h = gethostbyname (host); + h = gethostbyname (GETHOSTBYNAME_ARG_CAST host); if (h == NULL) { /* @@ -1362,17 +1363,17 @@ xmlNanoHTTPMethodRedir(const char *URL, const char *method, const char *input, xmlNanoHTTPInit(); retry: - if (redirURL == NULL) + if (redirURL == NULL) { ctxt = xmlNanoHTTPNewCtxt(URL); - else { + if (ctxt == NULL) + return(NULL); + } else { ctxt = xmlNanoHTTPNewCtxt(redirURL); + if (ctxt == NULL) + return(NULL); ctxt->location = xmlMemStrdup(redirURL); } - if ( ctxt == NULL ) { - return ( NULL ); - } - if ((ctxt->protocol == NULL) || (strcmp(ctxt->protocol, "http"))) { __xmlIOErr(XML_FROM_HTTP, XML_HTTP_URL_SYNTAX, "Not a valid HTTP URI"); xmlNanoHTTPFreeCtxt(ctxt);