Blob Blame History Raw
diff -up wireshark-1.10.14/wiretap/pcapng.c.drop_count wireshark-1.10.14/wiretap/pcapng.c
--- wireshark-1.10.14/wiretap/pcapng.c.drop_count	2017-06-13 10:08:24.297419620 +0200
+++ wireshark-1.10.14/wiretap/pcapng.c	2017-06-13 11:33:46.264786204 +0200
@@ -3242,6 +3242,10 @@ pcapng_write_enhanced_packet_block(wtap_
                 have_options = TRUE;
                 options_total_length = options_total_length + 8;
         }
+        if (phdr->presence_flags & WTAP_HAS_DROP_COUNT) {
+                have_options = TRUE;
+                options_total_length = options_total_length + 12;
+        }
         if (have_options) {
                 /* End-of optios tag */
                 options_total_length += 4;
@@ -3364,6 +3368,17 @@ pcapng_write_enhanced_packet_block(wtap_
                 wdh->bytes_dumped += 4;
                 pcapng_debug1("pcapng_write_enhanced_packet_block: Wrote Options packet flags: %x", phdr->pack_flags);
         }
+        if (phdr->presence_flags & WTAP_HAS_DROP_COUNT) {
+                option_hdr.type         = OPT_EPB_DROPCOUNT;
+                option_hdr.value_length = 8;
+                if (!wtap_dump_file_write(wdh, &option_hdr, 4, err))
+                        return FALSE;
+                wdh->bytes_dumped += 4;
+                if (!wtap_dump_file_write(wdh, &phdr->drop_count, 8, err))
+                        return FALSE;
+                wdh->bytes_dumped += 8;
+                pcapng_debug1("pcapng_write_enhanced_packet_block: Wrote Options drop count: %" G_GINT64_MODIFIER "u", phdr->drop_count);
+        }
         /* Write end of options if we have otions */
         if (have_options) {
                 if (!wtap_dump_file_write(wdh, &zero_pad, 4, err))