fix argument types for legacy function inet_makeaddr

the type int was taken from seemingly erroneous man pages. glibc uses
in_addr_t (uint32_t), and semantically, the arguments should be
unsigned.
This commit is contained in:
Rich Felker 2014-01-06 22:17:24 -05:00
parent eca335fc04
commit dbe221ecff
2 changed files with 2 additions and 3 deletions

View File

@ -20,7 +20,7 @@ int inet_pton (int, const char *__restrict, void *__restrict);
const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
int inet_aton (const char *, struct in_addr *);
struct in_addr inet_makeaddr(int, int);
struct in_addr inet_makeaddr(in_addr_t, in_addr_t);
in_addr_t inet_lnaof(struct in_addr);
in_addr_t inet_netof(struct in_addr);

View File

@ -16,9 +16,8 @@ int inet_aton(const char *cp, struct in_addr *inp)
return 1;
}
struct in_addr inet_makeaddr(int net, int host)
struct in_addr inet_makeaddr(in_addr_t n, in_addr_t h)
{
uint32_t n = net, h = host;
if (n < 256) h |= n<<24;
else if (n < 65536) h |= n<<16;
else h |= n<<8;