Commit 57c70767 authored by Andre Guibert de Bruet's avatar Andre Guibert de Bruet Committed by Jay Satiro
Browse files

examples/externalsocket: add missing close socket calls

.. and for Windows also call WSACleanup since we call WSAStartup.

The example is to demonstrate handling the socket independently of
libcurl. In this case libcurl is not responsible for creating, opening
or closing the socket, it is handled by the application (our example).

Fixes https://github.com/curl/curl/pull/3663
parent 0bb56392
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -124,8 +124,10 @@ int main(void)
    servaddr.sin_port   = htons(PORTNUM);

    servaddr.sin_addr.s_addr = inet_addr(IPADDR);
    if(INADDR_NONE == servaddr.sin_addr.s_addr)
    if(INADDR_NONE == servaddr.sin_addr.s_addr) {
      close(sockfd);
      return 2;
    }

    if(connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) ==
       -1) {
@@ -157,10 +159,16 @@ int main(void)

    curl_easy_cleanup(curl);

    close(sockfd);

    if(res) {
      printf("libcurl error: %d\n", res);
      return 4;
    }
  }

#ifdef WIN32
  WSACleanup();
#endif
  return 0;
}