diff options
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/inet_ntop.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/inet_ntop.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/inet_ntop.c b/mdk-stage1/dietlibc/libcruft/inet_ntop.c index 77c47f239..81bee0a90 100644 --- a/mdk-stage1/dietlibc/libcruft/inet_ntop.c +++ b/mdk-stage1/dietlibc/libcruft/inet_ntop.c @@ -1,6 +1,6 @@ +#include <sys/socket.h> #include <arpa/inet.h> - -extern char *inet_ntoa_r(struct in_addr in,char* buf); +#include <string.h> static const unsigned char V4mappedprefix[12]={0,0,0,0,0,0,0,0,0,0,0xff,0xff}; @@ -17,8 +17,7 @@ static int fmt_xlong(char* s,unsigned int i) { return s-bak+1; } -unsigned int fmt_ip6(char *s,const char ip[16]) -{ +static unsigned int fmt_ip6(char *s,const char ip[16]) { unsigned int len; unsigned int i; unsigned int temp; @@ -53,13 +52,16 @@ unsigned int fmt_ip6(char *s,const char ip[16]) } } } + if (compressing) { + *s++=':'; ++len; + } *s=0; return len; } const char* inet_ntop(int AF, const void *CP, char *BUF, size_t LEN) { char buf[100]; - int len; + size_t len; if (AF==AF_INET) { inet_ntoa_r(*(struct in_addr*)CP,buf); len=strlen(buf); |