From: Francois-Xavier Le Bail Date: Tue, 2 Jan 2018 14:50:24 +0000 (+0100) Subject: Add ND_TTEST_SIZE() and ND_TCHECK_SIZE() macros X-Git-Tag: tcpdump-4.99-bp~1506 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/6e8e14d7fa7a73e8d42515eed917feff29ce9622?hp=1ac29c4be46a81c9a95cd181ddfe32d29e32a6d3 Add ND_TTEST_SIZE() and ND_TCHECK_SIZE() macros To replace in next steps: ND_TTEST(var) -> ND_TTEST_SIZE(p) ND_TCHECK(var) -> ND_TCHECK_SIZE(p) Moreover: Add a comment --- diff --git a/netdissect.h b/netdissect.h index d23bdbfc..c1e4eaee 100644 --- a/netdissect.h +++ b/netdissect.h @@ -331,14 +331,21 @@ struct netdissect_options { /* True if "var" was captured */ #define ND_TTEST(var) ND_TTEST2(var, sizeof(var)) +/* True if "*(p)" was captured */ +#define ND_TTEST_SIZE(p) ND_TTEST_LEN(p, sizeof(*(p))) + /* Bail if "l" bytes of "var" were not captured */ #define ND_TCHECK2(var, l) if (!ND_TTEST2(var, l)) goto trunc +/* Bail out if "l" bytes from "p" were not captured */ #define ND_TCHECK_LEN(p, l) if (!ND_TTEST_LEN(p, l)) goto trunc /* Bail if "var" was not captured */ #define ND_TCHECK(var) ND_TCHECK2(var, sizeof(var)) +/* Bail out if "*(p)" was not captured */ +#define ND_TCHECK_SIZE(p) ND_TCHECK_LEN(p, sizeof(*(p))) + #define ND_PRINT(STUFF) (ndo->ndo_printf)STUFF #define ND_DEFAULTPRINT(ap, length) (*ndo->ndo_default_print)(ndo, ap, length)