tcpdump mailing list archives
print-ahcp.c on MSVC
From: "Gisle Vanem" <gvanem () yahoo no>
Date: Tue, 11 Mar 2014 19:40:11 +0100
I'm sure my old MSVC v16 has a bit stupid C-preprocessor. At least when expanding this (line 153): ND_PRINT((ndo, "%s%s", sep, #ifdef INET6 ip6addr_string(cp) #else "(compiled w/o IPv6)" #endif /* INET6 */ into this (all on one line): (*ndo->ndo_printf)(ndo, "%s%s", sep, #ifdef 1 getname6((const u_char *) (cp)) #else "(compiled w/o IPv6)" #endif ); (verified by cl -E). Applying this patch fixes it though: --- Git-Latest/print-ahcp.c 2014-03-11 18:33:14 +0000 +++ print-ahcp.c 2014-03-11 19:29:41 +0000 @@ -150,13 +150,12 @@ if (cp + 16 > ep) goto corrupt; ND_TCHECK2(*cp, 16); - ND_PRINT((ndo, "%s%s", sep, #ifdef INET6 - ip6addr_string(cp) + ND_PRINT((ndo, "%s%s", sep, ip6addr_string(cp))); #else - "(compiled w/o IPv6)" + ND_PRINT((ndo, "%s%s", sep, "(compiled w/o IPv6)")); #endif /* INET6 */ - )); + cp += 16; sep = ", "; } @@ -202,13 +201,12 @@ if (cp + 17 > ep) goto corrupt; ND_TCHECK2(*cp, 17); - ND_PRINT((ndo, "%s%s/%u", sep, #ifdef INET6 - ip6addr_string(cp), + ND_PRINT((ndo, "%s%s/%u", sep, ip6addr_string(cp), *(cp + 16))); #else - "(compiled w/o IPv6)", + ND_PRINT((ndo, "%s%s/%u", sep, "(compiled w/o IPv6)", *(cp + 16))); #endif /* INET6 */ - *(cp + 16))); + cp += 17; sep = ", "; } ---------- Time for an INET6 aware util.c print-function for these cases? --gv _______________________________________________ tcpdump-workers mailing list tcpdump-workers () lists tcpdump org https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers
Current thread:
- print-ahcp.c on MSVC Gisle Vanem (Mar 11)
- Re: print-ahcp.c on MSVC Guy Harris (Mar 11)