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. */
|
||||
in_port_t sin_port; /* Port number. */
|
||||
struct in_addr sin_addr; /* IP address. */
|
||||
unsigned char sin_zero[8];
|
||||
};
|
||||
|
||||
struct in6_addr
|
||||
|
|
|
@ -24,8 +24,8 @@ __BEGIN_DECLS
|
|||
|
||||
struct sockaddr
|
||||
{
|
||||
sa_family_t sa_family; /* Address family. */
|
||||
char sa_data[0]; /* Socket address (variable-length data). */
|
||||
sa_family_t sa_family; /* Address family. */
|
||||
char sa_data[14]; /* Socket address (variable-length data). */
|
||||
};
|
||||
|
||||
struct sockaddr_storage
|
||||
|
|
|
@ -442,6 +442,7 @@ int main(int, char**)
|
|||
.sin_family = AF_INET,
|
||||
.sin_port = 0,
|
||||
.sin_addr = { .s_addr = resolved->raw },
|
||||
.sin_zero = {},
|
||||
};
|
||||
|
||||
if (send(client.socket, &addr, sizeof(addr), 0) == -1)
|
||||
|
@ -489,6 +490,7 @@ int main(int, char**)
|
|||
.sin_family = AF_INET,
|
||||
.sin_port = 0,
|
||||
.sin_addr = { .s_addr = result->raw },
|
||||
.sin_zero = {},
|
||||
};
|
||||
|
||||
if (send(client.socket, &addr, sizeof(addr), 0) == -1)
|
||||
|
|
Loading…
Reference in New Issue