projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove inclusion guard hacks for sys/kd.h
[musl]
/
src
/
network
/
inet_pton.c
diff --git
a/src/network/inet_pton.c
b/src/network/inet_pton.c
index
f840dd4
..
d36c368
100644
(file)
--- a/
src/network/inet_pton.c
+++ b/
src/network/inet_pton.c
@@
-1,5
+1,4
@@
#include <sys/socket.h>
#include <sys/socket.h>
-#include <netdb.h>
#include <arpa/inet.h>
#include <ctype.h>
#include <errno.h>
#include <arpa/inet.h>
#include <ctype.h>
#include <errno.h>
@@
-40,14
+39,15
@@
int inet_pton(int af, const char *restrict s, void *restrict a0)
for (i=0; ; i++) {
if (s[0]==':' && brk<0) {
brk=i;
for (i=0; ; i++) {
if (s[0]==':' && brk<0) {
brk=i;
- ip[i]=0;
+ ip[i
&7
]=0;
if (!*++s) break;
if (!*++s) break;
+ if (i==7) return 0;
continue;
}
for (v=j=0; j<4 && (d=hexval(s[j]))>=0; j++)
v=16*v+d;
continue;
}
for (v=j=0; j<4 && (d=hexval(s[j]))>=0; j++)
v=16*v+d;
- if (j==0
|| v > 65535
) return 0;
- ip[i] = v;
+ if (j==0) return 0;
+ ip[i
&7
] = v;
if (!s[j] && (brk>=0 || i==7)) break;
if (i==7) return 0;
if (s[j]!=':') {
if (!s[j] && (brk>=0 || i==7)) break;
if (i==7) return 0;
if (s[j]!=':') {