Browse Source

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.
Rich Felker 11 years ago
parent
commit
dbe221ecff
2 changed files with 2 additions and 3 deletions
  1. 1 1
      include/arpa/inet.h
  2. 1 2
      src/network/inet_legacy.c

+ 1 - 1
include/arpa/inet.h

@@ -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);
 

+ 1 - 2
src/network/inet_legacy.c

@@ -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;