crt: Avoid memset calls in libsrc/ws2tcpip. In preparation for building the CRT with -fno-builtin. This allows the compiler to zero memory without making an actual library call. Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_loopback.c b/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_loopback.c index 8548ae7..30d06c1 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_loopback.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_loopback.c
@@ -8,6 +8,6 @@ void IN6_SET_ADDR_LOOPBACK(struct in6_addr *a) { - memset(a->s6_bytes, 0, sizeof(struct in6_addr)); + *a = (struct in6_addr){0}; a->s6_bytes[15] = 1; }
diff --git a/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_unspecified.c b/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_unspecified.c index c15ff93..4a79c0e 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_unspecified.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/in6_set_addr_unspecified.c
@@ -8,5 +8,5 @@ void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a) { - memset(a->s6_bytes, 0, sizeof(struct in6_addr)); + *a = (struct in6_addr){0}; }
diff --git a/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setany.c b/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setany.c index 6b40167..323f4a2 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setany.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setany.c
@@ -6,14 +6,11 @@ #include <winsock2.h> #include <ws2tcpip.h> -#undef IN6_SET_ADDR_UNSPECIFIED -#define IN6_SET_ADDR_UNSPECIFIED(a) memset((a)->s6_bytes,0,sizeof(struct in6_addr)) - void IN6ADDR_SETANY(struct sockaddr_in6 *a) { a->sin6_family = AF_INET6; a->sin6_port = 0; a->sin6_flowinfo = 0; - IN6_SET_ADDR_UNSPECIFIED(&a->sin6_addr); + a->sin6_addr = (struct in6_addr){0}; a->sin6_scope_id = 0; }
diff --git a/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setloopback.c b/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setloopback.c index 9693a00..5967cd9 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setloopback.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/in6addr_setloopback.c
@@ -6,13 +6,6 @@ #include <winsock2.h> #include <ws2tcpip.h> -#undef IN6_SET_ADDR_LOOPBACK -#define IN6_SET_ADDR_LOOPBACK(a) \ - do { \ - memset((a)->s6_bytes,0,sizeof(struct in6_addr));\ - (a)->s6_bytes[15] = 1; \ - } while (0) - void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *a) { a->sin6_family = AF_INET6;