summaryrefslogtreecommitdiffstats
path: root/netdissect.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--netdissect.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/netdissect.c b/netdissect.c
index 000d1ff..e78ccbc 100644
--- a/netdissect.c
+++ b/netdissect.c
@@ -22,9 +22,7 @@
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include "netdissect-stdinc.h"
#include "netdissect.h"
@@ -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 <setjmp.h> 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 */
+}