LibC: Make sockaddr and sockaddr_in compatible with other systems
sockaddr: make sa_data is 14 bytes on all systems sockaddr_in: add sin_zero
This commit is contained in:
parent
3aa20a3a32
commit
92e962430b
|
@ -87,6 +87,7 @@ struct sockaddr_in
|
||||||
sa_family_t sin_family; /* AF_INET. */
|
sa_family_t sin_family; /* AF_INET. */
|
||||||
in_port_t sin_port; /* Port number. */
|
in_port_t sin_port; /* Port number. */
|
||||||
struct in_addr sin_addr; /* IP address. */
|
struct in_addr sin_addr; /* IP address. */
|
||||||
|
unsigned char sin_zero[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct in6_addr
|
struct in6_addr
|
||||||
|
|
|
@ -25,7 +25,7 @@ __BEGIN_DECLS
|
||||||
struct sockaddr
|
struct sockaddr
|
||||||
{
|
{
|
||||||
sa_family_t sa_family; /* Address family. */
|
sa_family_t sa_family; /* Address family. */
|
||||||
char sa_data[0]; /* Socket address (variable-length data). */
|
char sa_data[14]; /* Socket address (variable-length data). */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sockaddr_storage
|
struct sockaddr_storage
|
||||||
|
|
|
@ -442,6 +442,7 @@ int main(int, char**)
|
||||||
.sin_family = AF_INET,
|
.sin_family = AF_INET,
|
||||||
.sin_port = 0,
|
.sin_port = 0,
|
||||||
.sin_addr = { .s_addr = resolved->raw },
|
.sin_addr = { .s_addr = resolved->raw },
|
||||||
|
.sin_zero = {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (send(client.socket, &addr, sizeof(addr), 0) == -1)
|
if (send(client.socket, &addr, sizeof(addr), 0) == -1)
|
||||||
|
@ -489,6 +490,7 @@ int main(int, char**)
|
||||||
.sin_family = AF_INET,
|
.sin_family = AF_INET,
|
||||||
.sin_port = 0,
|
.sin_port = 0,
|
||||||
.sin_addr = { .s_addr = result->raw },
|
.sin_addr = { .s_addr = result->raw },
|
||||||
|
.sin_zero = {},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (send(client.socket, &addr, sizeof(addr), 0) == -1)
|
if (send(client.socket, &addr, sizeof(addr), 0) == -1)
|
||||||
|
|
Loading…
Reference in New Issue