# HG changeset patch # User Maxim Dounin <mdou...@mdounin.ru> # Date 1748209475 -10800 # Mon May 26 00:44:35 2025 +0300 # Node ID 4eed7851024b4ca5d77107676025e84324e23c74 # Parent 38f1f374523ff2630e59f6a722fd6f9d7f70ac01 Cleaned up iov_base, msg_name, msg_control type casts.
In old OSes iov_base, msg_name, and msg_control fields were caddr_t ("char *" in case of iov_base), though later were changed to "void *". In particular, in FreeBSD this change happened around FreeBSD 4.0. With newer "void *" type no type casts are needed, but with caddr_t type casts were required in most cases. Previously, casts were used inconsistently across the code: to caddr_t, to "void *", or no casts at all in some recent code. With this change, casts to "void *" are consistently used in all relevant places. diff --git a/src/event/ngx_event_udp.c b/src/event/ngx_event_udp.c --- a/src/event/ngx_event_udp.c +++ b/src/event/ngx_event_udp.c @@ -70,14 +70,14 @@ ngx_event_recvmsg(ngx_event_t *ev) iov[0].iov_base = (void *) buffer; iov[0].iov_len = sizeof(buffer); - msg.msg_name = &sa; + msg.msg_name = (void *) &sa; msg.msg_namelen = sizeof(ngx_sockaddr_t); msg.msg_iov = iov; msg.msg_iovlen = 1; #if (NGX_HAVE_ADDRINFO_CMSG) if (ls->wildcard) { - msg.msg_control = &msg_control; + msg.msg_control = (void *) &msg_control; msg.msg_controllen = sizeof(msg_control); ngx_memzero(&msg_control, sizeof(msg_control)); @@ -108,7 +108,7 @@ ngx_event_recvmsg(ngx_event_t *ev) } #endif - sockaddr = msg.msg_name; + sockaddr = (void *) msg.msg_name; socklen = msg.msg_namelen; if (socklen > (socklen_t) sizeof(ngx_sockaddr_t)) { diff --git a/src/event/quic/ngx_event_quic_output.c b/src/event/quic/ngx_event_quic_output.c --- a/src/event/quic/ngx_event_quic_output.c +++ b/src/event/quic/ngx_event_quic_output.c @@ -410,16 +410,16 @@ ngx_quic_send_segments(ngx_connection_t ngx_memzero(&msg, sizeof(struct msghdr)); ngx_memzero(msg_control, sizeof(msg_control)); + iov.iov_base = (void *) buf; iov.iov_len = len; - iov.iov_base = buf; msg.msg_iov = &iov; msg.msg_iovlen = 1; - msg.msg_name = sockaddr; + msg.msg_name = (void *) sockaddr; msg.msg_namelen = socklen; - msg.msg_control = msg_control; + msg.msg_control = (void *) msg_control; msg.msg_controllen = sizeof(msg_control); cmsg = CMSG_FIRSTHDR(&msg); @@ -698,19 +698,19 @@ ngx_quic_send(ngx_connection_t *c, u_cha ngx_memzero(&msg, sizeof(struct msghdr)); + iov.iov_base = (void *) buf; iov.iov_len = len; - iov.iov_base = buf; msg.msg_iov = &iov; msg.msg_iovlen = 1; - msg.msg_name = sockaddr; + msg.msg_name = (void *) sockaddr; msg.msg_namelen = socklen; #if (NGX_HAVE_ADDRINFO_CMSG) if (c->listening && c->listening->wildcard && c->local_sockaddr) { - msg.msg_control = msg_control; + msg.msg_control = (void *) msg_control; msg.msg_controllen = sizeof(msg_control); ngx_memzero(msg_control, sizeof(msg_control)); diff --git a/src/event/quic/ngx_event_quic_udp.c b/src/event/quic/ngx_event_quic_udp.c --- a/src/event/quic/ngx_event_quic_udp.c +++ b/src/event/quic/ngx_event_quic_udp.c @@ -68,14 +68,14 @@ ngx_quic_recvmsg(ngx_event_t *ev) iov[0].iov_base = (void *) buffer; iov[0].iov_len = sizeof(buffer); - msg.msg_name = &sa; + msg.msg_name = (void *) &sa; msg.msg_namelen = sizeof(ngx_sockaddr_t); msg.msg_iov = iov; msg.msg_iovlen = 1; #if (NGX_HAVE_ADDRINFO_CMSG) if (ls->wildcard) { - msg.msg_control = &msg_control; + msg.msg_control = (void *) &msg_control; msg.msg_controllen = sizeof(msg_control); ngx_memzero(&msg_control, sizeof(msg_control)); @@ -106,7 +106,7 @@ ngx_quic_recvmsg(ngx_event_t *ev) } #endif - sockaddr = msg.msg_name; + sockaddr = (void *) msg.msg_name; socklen = msg.msg_namelen; if (socklen > (socklen_t) sizeof(ngx_sockaddr_t)) { diff --git a/src/os/unix/ngx_channel.c b/src/os/unix/ngx_channel.c --- a/src/os/unix/ngx_channel.c +++ b/src/os/unix/ngx_channel.c @@ -31,7 +31,7 @@ ngx_write_channel(ngx_socket_t s, ngx_ch msg.msg_controllen = 0; } else { - msg.msg_control = (caddr_t) &cmsg; + msg.msg_control = (void *) &cmsg; msg.msg_controllen = sizeof(cmsg); ngx_memzero(&cmsg, sizeof(cmsg)); @@ -68,7 +68,7 @@ ngx_write_channel(ngx_socket_t s, ngx_ch #endif - iov[0].iov_base = (char *) ch; + iov[0].iov_base = (void *) ch; iov[0].iov_len = size; msg.msg_name = NULL; @@ -109,7 +109,7 @@ ngx_read_channel(ngx_socket_t s, ngx_cha int fd; #endif - iov[0].iov_base = (char *) ch; + iov[0].iov_base = (void *) ch; iov[0].iov_len = size; msg.msg_name = NULL; @@ -118,7 +118,7 @@ ngx_read_channel(ngx_socket_t s, ngx_cha msg.msg_iovlen = 1; #if (NGX_HAVE_MSGHDR_MSG_CONTROL) - msg.msg_control = (caddr_t) &cmsg; + msg.msg_control = (void *) &cmsg; msg.msg_controllen = sizeof(cmsg); #else msg.msg_accrights = (caddr_t) &fd; diff --git a/src/os/unix/ngx_udp_sendmsg_chain.c b/src/os/unix/ngx_udp_sendmsg_chain.c --- a/src/os/unix/ngx_udp_sendmsg_chain.c +++ b/src/os/unix/ngx_udp_sendmsg_chain.c @@ -216,7 +216,7 @@ ngx_sendmsg_vec(ngx_connection_t *c, ngx ngx_memzero(&msg, sizeof(struct msghdr)); if (c->socklen) { - msg.msg_name = c->sockaddr; + msg.msg_name = (void *) c->sockaddr; msg.msg_namelen = c->socklen; } @@ -226,7 +226,7 @@ ngx_sendmsg_vec(ngx_connection_t *c, ngx #if (NGX_HAVE_ADDRINFO_CMSG) if (c->listening && c->listening->wildcard && c->local_sockaddr) { - msg.msg_control = msg_control; + msg.msg_control = (void *) msg_control; msg.msg_controllen = sizeof(msg_control); ngx_memzero(msg_control, sizeof(msg_control));