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:
@@ -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
|
||||
|
||||
@@ -25,7 +25,7 @@ __BEGIN_DECLS
|
||||
struct sockaddr
|
||||
{
|
||||
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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user