summaryrefslogtreecommitdiff
path: root/missing
diff options
context:
space:
mode:
authorGisle Vanem <gvanem@yahoo.no>2014-05-01 14:39:17 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2014-05-01 14:39:17 +0400
commit3425f9366f61d2883927d4755ad25c6037cde543 (patch)
treebfd99074007280bb3ab8a7a335927f43839afc9c /missing
parentfdf8fb7399246033f58fa6864b3970df6257e515 (diff)
downloadtcpdump-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.c8
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?