提交 dbe221ec 编写于 作者: R Rich Felker

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.
上级 eca335fc
...@@ -20,7 +20,7 @@ int inet_pton (int, const char *__restrict, void *__restrict); ...@@ -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); const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t);
int inet_aton (const char *, struct in_addr *); 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_lnaof(struct in_addr);
in_addr_t inet_netof(struct in_addr); in_addr_t inet_netof(struct in_addr);
......
...@@ -16,9 +16,8 @@ int inet_aton(const char *cp, struct in_addr *inp) ...@@ -16,9 +16,8 @@ int inet_aton(const char *cp, struct in_addr *inp)
return 1; 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; if (n < 256) h |= n<<24;
else if (n < 65536) h |= n<<16; else if (n < 65536) h |= n<<16;
else h |= n<<8; else h |= n<<8;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册