X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/fe9b593bac67c5485579ab89f21dd9e4490799fc..0023eaa78f123676bfa9c5fba72ea4b8a59aaa70:/netdissect.c diff --git a/netdissect.c b/netdissect.c index 72923a17..e78ccbc7 100644 --- a/netdissect.c +++ b/netdissect.c @@ -22,9 +22,7 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#ifdef HAVE_CONFIG_H #include -#endif #include "netdissect-stdinc.h" #include "netdissect.h" @@ -149,7 +147,7 @@ nd_smi_version_string(void) int nd_push_buffer(netdissect_options *ndo, u_char *new_buffer, - const u_char *new_packetp, u_int newlen) + const u_char *new_packetp, const u_int newlen) { struct netdissect_saved_packet_info *ndspi; @@ -172,7 +170,7 @@ nd_push_buffer(netdissect_options *ndo, u_char *new_buffer, /* * In a given netdissect_options structure: * - *, push the current packet information onto the packet informaton + * push the current packet information onto the packet information * stack; * * given a pointer into the packet and a length past that point in @@ -182,7 +180,7 @@ nd_push_buffer(netdissect_options *ndo, u_char *new_buffer, * set the snapshot end to that new value. */ int -nd_push_snaplen(netdissect_options *ndo, const u_char *bp, u_int newlen) +nd_push_snaplen(netdissect_options *ndo, const u_char *bp, const u_int newlen) { struct netdissect_saved_packet_info *ndspi; u_int snaplen_remaining; @@ -242,7 +240,7 @@ nd_push_snaplen(netdissect_options *ndo, const u_char *bp, u_int newlen) * atop which the current one was pushed, however. */ void -nd_change_snaplen(netdissect_options *ndo, const u_char *bp, u_int newlen) +nd_change_snaplen(netdissect_options *ndo, const u_char *bp, const u_int newlen) { struct netdissect_saved_packet_info *ndspi; const u_char *previous_snapend; @@ -299,3 +297,17 @@ nd_pop_all_packet_info(netdissect_options *ndo) while (ndo->ndo_packet_info_stack != NULL) nd_pop_packet_info(ndo); } + +NORETURN void +nd_trunc_longjmp(netdissect_options *ndo) +{ + longjmp(ndo->ndo_early_end, ND_TRUNCATED); +#ifdef _AIX + /* + * In AIX decorates longjmp() with "#pragma leaves", which tells + * XL C that the function is noreturn, but GCC remains unaware of that and + * yields a "'noreturn' function does return" warning. + */ + ND_UNREACHABLE +#endif /* _AIX */ +}