- TCHECK(bp[2]);
- printf(", vrid %u, prio %u", bp[1], bp[2]);
- TCHECK(bp[5]);
- auth_type = bp[4];
- printf(", authtype %s", tok2str(auth2str, NULL, auth_type));
- printf(", intvl %us, length %u", bp[5],len);
- if (vflag) {
- int naddrs = bp[3];
- int i;
+ ND_PRINT(", vrid %u, prio %u", GET_U_1(bp + 1), GET_U_1(bp + 2));
+
+ if (version == 2) {
+ auth_type = GET_U_1(bp + 4);
+ ND_PRINT(", authtype %s", tok2str(auth2str, NULL, auth_type));
+ ND_PRINT(", intvl %us, length %u", GET_U_1(bp + 5), len);
+ } else { /* version == 3 */
+ uint16_t intvl = (GET_U_1(bp + 4) & 0x0f) << 8 | GET_U_1(bp + 5);
+ ND_PRINT(", intvl %ucs, length %u", intvl, len);
+ }
+
+ if (ndo->ndo_vflag) {
+ u_int naddrs = GET_U_1(bp + 3);
+ u_int i;