* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*/
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include "netdissect-stdinc.h"
#include "netdissect.h"
#include <smi.h>
#endif
+#ifdef _AIX
+#include "diag-control.h"
+#endif /* _AIX */
+
/*
* Initialize anything that must be initialized before dissecting
* packets.
}
/*
- * Clean up anything that ndo_init() did.
+ * Clean up anything that nd_init() did.
*/
void
nd_cleanup(void)
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_NOT_REACHABLE
+#endif /* _AIX */
+}