- printf("(tsp_type %#x)", tsp->tsp_type);
-
- if (endof(tsp->tsp_vers) > snapend) {
- printf(" %s", tstr);
- return;
- }
- printf(" vers %d", tsp->tsp_vers);
-
- if (endof(tsp->tsp_seq) > snapend) {
- printf(" %s", tstr);
- return;
- }
- printf(" seq %d", tsp->tsp_seq);
-
- if (tsp->tsp_type == TSP_LOOP) {
- if (endof(tsp->tsp_hopcnt) > snapend) {
- printf(" %s", tstr);
- return;
- }
- printf(" hopcnt %d", tsp->tsp_hopcnt);
- } else if (tsp->tsp_type == TSP_SETTIME ||
- tsp->tsp_type == TSP_ADJTIME ||
- tsp->tsp_type == TSP_SETDATE ||
- tsp->tsp_type == TSP_SETDATEREQ) {
- if (endof(tsp->tsp_time) > snapend) {
- printf(" %s", tstr);
- return;
- }
+ ND_PRINT((ndo, "(tsp_type %#x)", tsp->tsp_type));
+
+ ND_TCHECK(tsp->tsp_vers);
+ ND_PRINT((ndo, " vers %u", tsp->tsp_vers));
+
+ ND_TCHECK(tsp->tsp_seq);
+ ND_PRINT((ndo, " seq %u", tsp->tsp_seq));
+
+ switch (tsp->tsp_type) {
+ case TSP_LOOP:
+ ND_TCHECK(tsp->tsp_hopcnt);
+ ND_PRINT((ndo, " hopcnt %u", tsp->tsp_hopcnt));
+ break;
+ case TSP_SETTIME:
+ case TSP_ADJTIME:
+ case TSP_SETDATE:
+ case TSP_SETDATEREQ:
+ ND_TCHECK(tsp->tsp_time);