libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

commit d5147a2bb12f9eb47ce3e60d15ba8a7ca5620fc3
parent a3a5829974afc48dbe89277f5e5a2224186bf4b0
Author: Evgeny Grin (Karlson2k) <k2k@drgrin.dev>
Date:   Sun, 11 May 2025 21:27:19 +0200

mhd_socket_pair_func(): improved portability

Diffstat:
Msrc/mhd2/mhd_sockets_funcs.c | 16++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/mhd2/mhd_sockets_funcs.c b/src/mhd2/mhd_sockets_funcs.c @@ -204,8 +204,8 @@ mhd_socket_pair_func (MHD_Socket sckt[2], bool non_blk) listen_s = socket (AF_INET, SOCK_STREAM, - IPPROTO_TCP); - if (INVALID_SOCKET == listen_s) + 0); + if (MHD_INVALID_SOCKET == listen_s) break; /* can't create even single socket */ listen_addr.sin_family = AF_INET; @@ -215,6 +215,10 @@ mhd_socket_pair_func (MHD_Socket sckt[2], bool non_blk) #else memcpy (&(listen_addr.sin_addr.s_addr), "\x7F\x00\x00\x01", 4); #endif +#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN + listen_addr.sin_len = sizeof(listen_addr); +#endif + if ( ((0 == bind (listen_s, (struct sockaddr *) &listen_addr, c_addinlen)) && @@ -224,11 +228,11 @@ mhd_socket_pair_func (MHD_Socket sckt[2], bool non_blk) (struct sockaddr *) &listen_addr, &addr_len))) ) { - MHD_Socket client_s = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP); + MHD_Socket client_s = socket (AF_INET, SOCK_STREAM, 0); struct sockaddr_in accepted_from_addr; struct sockaddr_in client_addr; - if (INVALID_SOCKET != client_s) + if (MHD_INVALID_SOCKET != client_s) { if (mhd_socket_nonblocking (client_s) && ( (0 == connect (client_s, @@ -273,8 +277,8 @@ mhd_socket_pair_func (MHD_Socket sckt[2], bool non_blk) mhd_socket_close (listen_s); } - sckt[0] = INVALID_SOCKET; - sckt[1] = INVALID_SOCKET; + sckt[0] = MHD_INVALID_SOCKET; + sckt[1] = MHD_INVALID_SOCKET; return false; }