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;