this can probably go. I wandered in there because clang says:

/usr/src/usr.sbin/mtrace/mtrace.c:949:12: warning: taking the absolute value of 
unsigned type 'unsigned int' has no effect [-Wabsolute-value]
            if (*s || abs(ntohl(n->tr_vifout) - ntohl(p->tr_vifout)) > 100000) {
                      ^

OK?


diff --git mtrace/mtrace.c mtrace/mtrace.c
index 717c251c20c..a2ab28dbbf8 100644
--- mtrace/mtrace.c
+++ mtrace/mtrace.c
@@ -148,8 +148,6 @@ int                 what_kind(struct resp_buf *buf, char 
*why);
 char *                 scale(int *hop);
 void                   stat_line(struct tr_resp *r, struct tr_resp *s,
                            int have_next, int *res);
-void                   fixup_stats(struct resp_buf *base,
-                           struct resp_buf *prev, struct resp_buf *new);
 int                    print_stats(struct resp_buf *base,
                            struct resp_buf *prev, struct resp_buf *new);
 void                   check_vif_state(void);
@@ -929,86 +927,6 @@ stat_line(struct tr_resp *r, struct tr_resp *s, int 
have_next, int *rst)
 }
 
 /*
- * A fixup to check if any pktcnt has been reset, and to fix the
- * byteorder bugs in mrouted 3.6 on little-endian machines.
- */
-void
-fixup_stats(struct resp_buf *base, struct resp_buf *prev, struct resp_buf *new)
-{
-    int rno = base->len;
-    struct tr_resp *b = base->resps + rno;
-    struct tr_resp *p = prev->resps + rno;
-    struct tr_resp *n = new->resps + rno;
-    int *r = reset + rno;
-    int *s = swaps + rno;
-    int res;
-
-    /* Check for byte-swappers */
-    while (--rno >= 0) {
-       --n; --p; --b; --s;
-       if (*s || abs(ntohl(n->tr_vifout) - ntohl(p->tr_vifout)) > 100000) {
-           /* This host sends byteswapped reports; swap 'em */
-           if (!*s) {
-               *s = 1;
-               b->tr_qarr = byteswap(b->tr_qarr);
-               b->tr_vifin = byteswap(b->tr_vifin);
-               b->tr_vifout = byteswap(b->tr_vifout);
-               b->tr_pktcnt = byteswap(b->tr_pktcnt);
-           }
-
-           n->tr_qarr = byteswap(n->tr_qarr);
-           n->tr_vifin = byteswap(n->tr_vifin);
-           n->tr_vifout = byteswap(n->tr_vifout);
-           n->tr_pktcnt = byteswap(n->tr_pktcnt);
-       }
-    }
-
-    rno = base->len;
-    b = base->resps + rno;
-    p = prev->resps + rno;
-    n = new->resps + rno;
-
-    while (--rno >= 0) {
-       --n; --p; --b; --r;
-       res = ((ntohl(n->tr_pktcnt) < ntohl(b->tr_pktcnt)) ||
-              (ntohl(n->tr_pktcnt) < ntohl(p->tr_pktcnt)));
-       if (debug > 2)
-           printf("\t\tr=%d, res=%d\n", *r, res);
-       if (*r) {
-           if (res || *r > 1) {
-               /*
-                * This router appears to be a 3.4 with that nasty ol'
-                * neighbor version bug, which causes it to constantly
-                * reset.  Just nuke the statistics for this node, and
-                * don't even bother giving it the benefit of the
-                * doubt from now on.
-                */
-               p->tr_pktcnt = b->tr_pktcnt = n->tr_pktcnt;
-               r++;
-           } else {
-               /*
-                * This is simply the situation that the original
-                * fixup_stats was meant to deal with -- that a
-                * 3.3 or 3.4 router deleted a cache entry while
-                * traffic was still active.
-                */
-               *r = 0;
-               break;
-           }
-       } else
-           *r = res;
-    }
-
-    if (rno < 0) return;
-
-    rno = base->len;
-    b = base->resps + rno;
-    p = prev->resps + rno;
-
-    while (--rno >= 0) (--b)->tr_pktcnt = (--p)->tr_pktcnt;
-}
-
-/*
  * Print responses with statistics for forward path (from src to dst)
  */
 int
@@ -1591,7 +1509,6 @@ or multicast at ttl %d doesn't reach its last-hop router 
for that source\n",
 
        printf("Results after %d seconds:\n\n",
               (int)((new->qtime - base.qtime) >> 16));
-       fixup_stats(&base, prev, new);
        if (print_stats(&base, prev, new)) {
            printf("Route changed:\n");
            print_trace(1, new);

-- 
I'm not entirely sure you are real.

Reply via email to