- phdr->ts.secs = hdr.ts_sec;
- phdr->ts.nsecs = hdr.ts_usec * 1000;
- phdr->caplen = bytes_needed = hdr.incl_len;
- phdr->len = hdr.orig_len;
+ if (want_pcap_pkthdr) {
+ phdr->ts.secs = mem_hdr.ts.tv_sec;
+ phdr->ts.nsecs = mem_hdr.ts.tv_usec * 1000;
+ phdr->caplen = bytes_needed = mem_hdr.caplen;
+ phdr->len = mem_hdr.len;
+ } else {
+ phdr->ts.secs = disk_hdr.ts_sec;
+ phdr->ts.nsecs = disk_hdr.ts_usec * 1000;
+ phdr->caplen = bytes_needed = disk_hdr.incl_len;
+ phdr->len = disk_hdr.orig_len;
+ }
+