$OpenBSD: patch-src_PcapInterface_cpp,v 1.2 2021/01/18 13:15:40 sthen Exp $

cope with openbsd nonstandard bpf_timeval

Index: src/PcapInterface.cpp
--- src/PcapInterface.cpp.orig
+++ src/PcapInterface.cpp
@@ -269,9 +269,13 @@ static void* packetPollLoop(void* ptr) {
 
 	  if(firstPktTS.tv_sec == 0) {
             startTS = now;
-            firstPktTS = hdr->ts;
+            firstPktTS.tv_sec = hdr->ts.tv_sec;
+            firstPktTS.tv_usec = hdr->ts.tv_usec;
           } else {
-            u_int32_t packetTimeDelta = Utils::msTimevalDiff(&hdr->ts, &firstPktTS);
+            timeval tmpt;
+            tmpt.tv_sec = hdr->ts.tv_sec;
+            tmpt.tv_usec = hdr->ts.tv_usec;
+            u_int32_t packetTimeDelta = Utils::msTimevalDiff(&tmpt, &firstPktTS);
             u_int32_t fromStartTimeDelta = Utils::msTimevalDiff(&now, &startTS);
 
             if (packetTimeDelta > fromStartTimeDelta) {
@@ -286,7 +290,8 @@ static void* packetPollLoop(void* ptr) {
 	    }
 	  }
 
-	  hdr->ts = now;
+	  hdr->ts.tv_sec = now.tv_sec;
+	  hdr->ts.tv_usec = now.tv_usec;
 	}
 
 	if((pkt != NULL) && (hdr->caplen > 0)) {
