summaryrefslogtreecommitdiff
path: root/ui/capture.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-04-06 12:14:25 -0700
committerGuy Harris <guy@alum.mit.edu>2015-04-06 19:15:24 +0000
commit1871fb2b0d9628707661776cfa1b35f210e5e58e (patch)
tree36a23e755ae887fb26e47af67645b2ac454ca32e /ui/capture.c
parentb23ab904e728022340f139701626a06851562b1d (diff)
downloadwireshark-1871fb2b0d9628707661776cfa1b35f210e5e58e.tar.gz
Keep a captured-packet count in a capture_session and use that.
Have the count in a cfile_t structure always reflect the actual number of packets that have been read from the file, rather than, when doing a non-update-list-of-packets-in-real-time capture, falsely increasing the count in the cfile_t to reflect the number of packets captured but not yet read. Have the status bar base its captured-packet count on the count in the capture_session structure, and base the "sorry, no packets were captured" message on the count in the capture_session structure, as we're no longer using the count in the cfile_t structure to count anything in the process of a non-update-list-of-packets-in-real-time capture. That way, we preserve the invariant that the "frames" member of a cfile_t will be non-null if the "count" member is non-zero, fixing bug 6217. It also means we can get rid of cf_set_packet_count(), as we only set the count in the capture-file-reading code. Bug: 6217 Change-Id: I72c0e2c07c30782bad777995370b7c19e1460cc2 Reviewed-on: https://code.wireshark.org/review/7950 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'ui/capture.c')
-rw-r--r--ui/capture.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/ui/capture.c b/ui/capture.c
index 011421c550..c7165b1367 100644
--- a/ui/capture.c
+++ b/ui/capture.c
@@ -266,7 +266,7 @@ capture_input_read_all(capture_session *cap_session, gboolean is_tempfile,
}
/* if we didn't capture even a single packet, close the file again */
- if(cf_get_packet_count((capture_file *)cap_session->cf) == 0 && !capture_opts->restart) {
+ if(cap_session->count == 0 && !capture_opts->restart) {
simple_dialog(ESD_TYPE_INFO, ESD_BTN_OK,
"%sNo packets captured.%s\n"
"\n"
@@ -393,9 +393,6 @@ capture_input_new_packets(capture_session *cap_session, int to_read)
break;
}
} else {
- /* increase the capture file packet counter by the number of incoming packets */
- cf_set_packet_count((capture_file *)cap_session->cf,
- cf_get_packet_count((capture_file *)cap_session->cf) + to_read);
cf_fake_continue_tail((capture_file *)cap_session->cf);
capture_callback_invoke(capture_cb_capture_fixed_continue, cap_session);
@@ -523,7 +520,6 @@ capture_input_closed(capture_session *cap_session, gchar *msg)
{
capture_options *capture_opts = cap_session->capture_opts;
int err;
- int packet_count_save;
g_log(LOG_DOMAIN_CAPTURE, G_LOG_LEVEL_MESSAGE, "Capture stopped.");
g_assert(cap_session->state == CAPTURE_PREPARING || cap_session->state == CAPTURE_RUNNING);
@@ -545,8 +541,6 @@ capture_input_closed(capture_session *cap_session, gchar *msg)
/* Read what remains of the capture file. */
status = cf_finish_tail((capture_file *)cap_session->cf, &err);
- /* XXX: If -Q (quit-after-cap) then cf->count clr'd below so save it first */
- packet_count_save = cf_get_packet_count((capture_file *)cap_session->cf);
/* Tell the GUI we are not doing a capture any more.
Must be done after the cf_finish_tail(), so file lengths are
correctly displayed */
@@ -556,7 +550,7 @@ capture_input_closed(capture_session *cap_session, gchar *msg)
switch (status) {
case CF_READ_OK:
- if ((packet_count_save == 0) && !capture_opts->restart) {
+ if (cap_session->count == 0 && !capture_opts->restart) {
simple_dialog(ESD_TYPE_INFO, ESD_BTN_OK,
"%sNo packets captured.%s\n"
"\n"