- printf("AH(spi=%u", spi);
- if (vflag)
- printf(",sumlen=%d", sumlen);
- printf(",seq=0x%x", (u_int32_t)ntohl(*(u_int32_t *)(ah + 1)));
- if (bp + sizeof(struct ah) + sumlen > ep)
- fputs("[truncated]", stdout);
- fputs("): ", stdout);
-
+ ND_PRINT((ndo, "AH(spi=0x%08x", EXTRACT_BE_U_4(&ah->ah_spi)));
+ if (ndo->ndo_vflag)
+ ND_PRINT((ndo, ",sumlen=%d", sumlen));
+ ND_TCHECK_4(ah + 1);
+ ND_PRINT((ndo, ",seq=0x%x", EXTRACT_BE_U_4(ah + 1)));
+ if (!ND_TTEST2(*bp, sizeof(struct ah) + sumlen)) {
+ ND_PRINT((ndo, "[truncated]):"));
+ return -1;
+ }
+ ND_PRINT((ndo, "): "));
+