diff options
author | Gisle Vanem <gvanem@yahoo.no> | 2014-05-01 14:39:17 +0400 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2014-05-01 14:39:17 +0400 |
commit | 3425f9366f61d2883927d4755ad25c6037cde543 (patch) | |
tree | bfd99074007280bb3ab8a7a335927f43839afc9c /missing | |
parent | fdf8fb7399246033f58fa6864b3970df6257e515 (diff) | |
download | tcpdump-3425f9366f61d2883927d4755ad25c6037cde543.tar.gz |
fix missing/inet_ntop.c again
All tests that should print IPv6-addresses failed since 'INET6' wasn't
set when my missing/inet_ntop.c was compiled. Due to "config.h" was not
included.
Also got rid of 2 warnings:
Missing/inet_ntop.c:146:23: warning: 'cur.len' may be used
uninitialized in this function [-Wmaybe-uninitialized]
The tests also failed since the inet_ntop_v6() was returning hex-chars
in upper-case. So this patch returns string in lower-case.
Diffstat (limited to 'missing')
-rw-r--r-- | missing/inet_ntop.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/missing/inet_ntop.c b/missing/inet_ntop.c index 87ab7bb6..57539dc5 100644 --- a/missing/inet_ntop.c +++ b/missing/inet_ntop.c @@ -36,6 +36,10 @@ * SUCH DAMAGE. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <tcpdump-stdinc.h> #include <stdio.h> @@ -119,7 +123,9 @@ inet_ntop_v6 (const u_char *src, char *dst, size_t size) for (i = 0; i < IN6ADDRSZ; i++) words[i/2] |= (src[i] << ((1 - (i % 2)) << 3)); + best.len = 0; best.base = -1; + cur.len = 0; cur.base = -1; for (i = 0; i < (IN6ADDRSZ / INT16SZ); i++) { @@ -173,7 +179,7 @@ inet_ntop_v6 (const u_char *src, char *dst, size_t size) tp += strlen(tp); break; } - tp += sprintf (tp, "%lX", words[i]); + tp += sprintf (tp, "%lx", words[i]); } /* Was it a trailing run of 0x00's? |