SDL_net: WinSock recvfrom needs a `char *` buffer, not `void *`.

From 65b16bf0670b555c957a28219879d81ec7063f04 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Wed, 27 Sep 2023 13:06:18 -0400
Subject: [PATCH] WinSock recvfrom needs a `char *` buffer, not `void *`.

---
 src/SDL_net.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/SDL_net.c b/src/SDL_net.c
index e0ce2ed..dae1947 100644
--- a/src/SDL_net.c
+++ b/src/SDL_net.c
@@ -1422,7 +1422,8 @@ int SDLNet_ReceiveDatagram(SDLNet_DatagramSocket *sock, SDLNet_Datagram **dgram)
 
     AddressStorage from;
     SockLen fromlen = sizeof (from);
-    const int br = recvfrom(sock->handle, sock->recv_buffer, sizeof (sock->recv_buffer), 0, (struct sockaddr *) &from, &fromlen);
+    // WinSock's recvfrom wants a `char *` buffer instead of `void *`. The cast here is harmless on BSD Sockets.
+    const int br = recvfrom(sock->handle, (char *) sock->recv_buffer, sizeof (sock->recv_buffer), 0, (struct sockaddr *) &from, &fromlen);
     if (br == SOCKET_ERROR) {
         const int err = LastSocketError();
         return WouldBlock(err) ? 0 : SetSocketError("Failed to receive datagrams", err);