From: Viktor Szakats Date: Tue, 27 Jan 2026 05:09:40 +0000 (+0100) Subject: tool_doswin: avoid Windowsisms in socket code X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a81ab3e6db370f31fca2fc67ca8bfda263f15caa;p=thirdparty%2Fcurl.git tool_doswin: avoid Windowsisms in socket code For general readability. Also to match the rest of the source code. - `SOCKADDR` -> `struct sockaddr` - `SOCKADDR_IN` -> `struct sockaddr_in` - `== SOCKET_ERROR` -> `== -1` or silent `!= 0` Follow-up to 9a2663322c330ff11275abafd612e9c99407a94a #17572 Closes #20452 --- diff --git a/src/tool_doswin.c b/src/tool_doswin.c index e1ba4f8fc1..4ee7ae5828 100644 --- a/src/tool_doswin.c +++ b/src/tool_doswin.c @@ -712,11 +712,11 @@ static DWORD WINAPI win_stdin_thread_func(void *thread_data) char buffer[BUFSIZ]; BOOL r; - SOCKADDR_IN clientAddr; + struct sockaddr_in clientAddr; int clientAddrLen = sizeof(clientAddr); curl_socket_t socket_w = CURL_ACCEPT(tdata->socket_l, - (SOCKADDR *)&clientAddr, + (struct sockaddr *)&clientAddr, &clientAddrLen); if(socket_w == CURL_SOCKET_BAD) { @@ -726,7 +726,7 @@ static DWORD WINAPI win_stdin_thread_func(void *thread_data) sclose(tdata->socket_l); tdata->socket_l = CURL_SOCKET_BAD; - if(shutdown(socket_w, SD_RECEIVE) == SOCKET_ERROR) { + if(shutdown(socket_w, SD_RECEIVE)) { errorf("shutdown error: %d", SOCKERRNO); goto ThreadCleanup; } @@ -737,7 +737,7 @@ static DWORD WINAPI win_stdin_thread_func(void *thread_data) if(n == 0) break; nwritten = send(socket_w, buffer, n, 0); - if(nwritten == SOCKET_ERROR) + if(nwritten == -1) break; if((DWORD)nwritten != n) break; @@ -759,11 +759,10 @@ ThreadCleanup: /* The background thread that reads and buffers the true stdin. */ curl_socket_t win32_stdin_read_thread(void) { - int result; bool r; int rc = 0, socksize = 0; struct win_thread_data *tdata = NULL; - SOCKADDR_IN selfaddr; + struct sockaddr_in selfaddr; static HANDLE stdin_thread = NULL; static curl_socket_t socket_r = CURL_SOCKET_BAD; @@ -794,21 +793,18 @@ curl_socket_t win32_stdin_read_thread(void) selfaddr.sin_family = AF_INET; selfaddr.sin_addr.S_un.S_addr = htonl(INADDR_LOOPBACK); /* Bind to any available loopback port */ - result = bind(tdata->socket_l, (SOCKADDR *)&selfaddr, socksize); - if(result == SOCKET_ERROR) { + if(bind(tdata->socket_l, (const struct sockaddr *)&selfaddr, socksize)) { errorf("bind error: %d", SOCKERRNO); break; } /* Bind to any available loopback port */ - result = getsockname(tdata->socket_l, (SOCKADDR *)&selfaddr, &socksize); - if(result == SOCKET_ERROR) { + if(getsockname(tdata->socket_l, (struct sockaddr *)&selfaddr, &socksize)) { errorf("getsockname error: %d", SOCKERRNO); break; } - result = listen(tdata->socket_l, 1); - if(result == SOCKET_ERROR) { + if(listen(tdata->socket_l, 1)) { errorf("listen error: %d", SOCKERRNO); break; } @@ -845,12 +841,12 @@ curl_socket_t win32_stdin_read_thread(void) /* Hard close the socket on closesocket() */ setsockopt(socket_r, SOL_SOCKET, SO_DONTLINGER, 0, 0); - if(connect(socket_r, (SOCKADDR *)&selfaddr, socksize) == SOCKET_ERROR) { + if(connect(socket_r, (const struct sockaddr *)&selfaddr, socksize)) { errorf("connect error: %d", SOCKERRNO); break; } - if(shutdown(socket_r, SD_SEND) == SOCKET_ERROR) { + if(shutdown(socket_r, SD_SEND)) { errorf("shutdown error: %d", SOCKERRNO); break; }