]> The Tcpdump Group git mirrors - libpcap/commitdiff
Don't set non-existent structure members.
authorGuy Harris <[email protected]>
Fri, 28 Oct 2016 00:27:30 +0000 (17:27 -0700)
committerGuy Harris <[email protected]>
Fri, 28 Oct 2016 00:27:47 +0000 (17:27 -0700)
ps_capt, ps_sent, and ps_netdrop are only available on Windows if
HAVE_REMOTE is defined; don't set them otherwise.

pcap-rpcap.c
pcap-tc.c

index b954058df9393bd45ed55ba2c2bb97b4b19d5bf5..5add0573076c9542d0126aacf39006cd8816c018 100644 (file)
@@ -567,21 +567,17 @@ static struct pcap_stat *rpcap_stats_remote(pcap_t *p, struct pcap_stat *ps, int
         */
        if (!md->rmt_capstarted)
        {
-               if (mode == PCAP_STATS_STANDARD)
-               {
-                       ps->ps_drop = 0;
-                       ps->ps_ifdrop = 0;
-                       ps->ps_recv = 0;
-               }
-               else
+               ps->ps_drop = 0;
+               ps->ps_ifdrop = 0;
+               ps->ps_recv = 0;
+#if defined(_WIN32) && defined(HAVE_REMOTE)
+               if (mode == PCAP_STATS_EX)
                {
                        ps->ps_capt = 0;
-                       ps->ps_drop = 0;
-                       ps->ps_ifdrop = 0;
-                       ps->ps_netdrop = 0;
-                       ps->ps_recv = 0;
                        ps->ps_sent = 0;
+                       ps->ps_netdrop = 0;
                }
+#endif /* _WIN32 && HAVE_REMOTE */
 
                return ps;
        }
@@ -628,21 +624,17 @@ static struct pcap_stat *rpcap_stats_remote(pcap_t *p, struct pcap_stat *ps, int
                goto error;
        totread += nread;
 
-       if (mode == PCAP_STATS_STANDARD)
-       {
-               ps->ps_drop = ntohl(netstats.krnldrop);
-               ps->ps_ifdrop = ntohl(netstats.ifdrop);
-               ps->ps_recv = ntohl(netstats.ifrecv);
-       }
-       else
+       ps->ps_drop = ntohl(netstats.krnldrop);
+       ps->ps_ifdrop = ntohl(netstats.ifdrop);
+       ps->ps_recv = ntohl(netstats.ifrecv);
+#if defined(_WIN32) && defined(HAVE_REMOTE)
+       if (mode == PCAP_STATS_EX)
        {
                ps->ps_capt = md->TotCapt;
-               ps->ps_drop = ntohl(netstats.krnldrop);
-               ps->ps_ifdrop = ntohl(netstats.ifdrop);
                ps->ps_netdrop = md->TotNetDrops;
-               ps->ps_recv = ntohl(netstats.ifrecv);
                ps->ps_sent = ntohl(netstats.svrcapt);
        }
+#endif /* _WIN32 && HAVE_REMOTE */
 
        /* Checks if all the data has been read; if not, discard the data in excess */
        if (totread != ntohl(header.plen))
index 768dbd7c5f810ad0b465349fcb57dd706e4d13e8..bfb129bad01c0a77aaf9f567eaf4308e0ce134c0 100644 (file)
--- a/pcap-tc.c
+++ b/pcap-tc.c
@@ -1166,7 +1166,7 @@ TcStatsEx(pcap_t *p, int *pcap_stat_size)
                p->stat.ps_drop = 0xFFFFFFFF;
        }
 
-#ifdef HAVE_REMOTE
+#if defined(_WIN32) && defined(HAVE_REMOTE)
        p->stat.ps_capt = pt->TcAcceptedCount;
 #endif