forked from Bananymous/banan-os
				
			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