Remove __in6_u usage
Some checks failed
k4 Build Test / do_the_build (push) Failing after 59s

This commit is contained in:
mid 2025-05-11 15:26:25 +03:00
parent ae4a62f584
commit 0ba2cdee1c

View File

@ -112,16 +112,18 @@ void net_hi_update(double now) {
}
static void stoonpeer_to_enets(const char *peercode, ENetAddress *v4, ENetAddress *v6, int *mask) {
memset(v4->host.__in6_u.__u6_addr8, 0, 16);
v4->host.__in6_u.__u6_addr8[10] = 0xFF;
v4->host.__in6_u.__u6_addr8[11] = 0xFF;
v4->host.__in6_u.__u6_addr8[12] = peercode[0];
v4->host.__in6_u.__u6_addr8[13] = peercode[1];
v4->host.__in6_u.__u6_addr8[14] = peercode[2];
v4->host.__in6_u.__u6_addr8[15] = peercode[3];
uint8_t *addr8 = (uint8_t*) &v4->host;
memset(addr8, 0, 16);
addr8[10] = 0xFF;
addr8[11] = 0xFF;
addr8[12] = peercode[0];
addr8[13] = peercode[1];
addr8[14] = peercode[2];
addr8[15] = peercode[3];
v4->port = ntohs(*(uint16_t*) &peercode[4]);
memcpy(v6->host.__in6_u.__u6_addr8, peercode + 6, 16);
memcpy(&v6->host, peercode + 6, 16);
v6->port = ntohs(*(uint16_t*) &peercode[22]);
*mask = 0;