aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--capture.c5
-rw-r--r--file.c14
2 files changed, 18 insertions, 1 deletions
diff --git a/capture.c b/capture.c
index 07b751e9ec..4e21495edf 100644
--- a/capture.c
+++ b/capture.c
@@ -308,7 +308,10 @@ capture_input_closed(capture_options *capture_opts)
}
if(capture_opts->real_time_mode) {
- /* first of all, we are not doing a capture any more */
+ /* first of all, update the file length field */
+ cf_update_f_len(capture_opts->cf);
+
+ /* we are not doing a capture any more */
cf_callback_invoke(cf_cb_live_capture_update_finished, capture_opts->cf);
/* Read what remains of the capture file, and finish the capture.
diff --git a/file.c b/file.c
index 4fec53463f..f4055d7ed9 100644
--- a/file.c
+++ b/file.c
@@ -625,6 +625,20 @@ cf_finish_tail(capture_file *cf, int *err)
}
#endif /* HAVE_LIBPCAP */
+
+/* update the f_len field */
+cf_update_f_len(capture_file *cf) {
+ int fd;
+ struct stat cf_stat;
+
+
+ fd = wtap_fd(cf->wth);
+ if (fstat(fd, &cf_stat) >= 0) {
+ cf->f_len = cf_stat.st_size;
+ }
+}
+
+
const gchar *
cf_get_display_name(capture_file *cf)
{