From 6aed0cd8308c75f3eb8cad94dcbeef8218202462 Mon Sep 17 00:00:00 2001 From: krj Date: Mon, 7 Sep 2009 21:07:51 +0000 Subject: Make sure that reset the elapsed time to load a file before we reload/rescan the file git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@29783 f5534014-38df-0310-8fa8-9805f1628bb7 --- file.c | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) (limited to 'file.c') diff --git a/file.c b/file.c index c4a8a4b98b..f10920e52a 100644 --- a/file.c +++ b/file.c @@ -243,6 +243,29 @@ cf_timestamp_auto_precision(capture_file *cf) #endif } +gulong +cf_get_computed_elapsed(void) +{ + return computed_elapsed; +} + +static void reset_elapsed(void) +{ + computed_elapsed = 0; +} + +static void compute_elapsed(GTimeVal *start_time) +{ + gdouble delta_time; + GTimeVal time_now; + + g_get_current_time(&time_now); + + delta_time = (time_now.tv_sec - start_time->tv_sec) * 1e6 + + time_now.tv_usec - start_time->tv_usec; + + computed_elapsed = (gulong) (delta_time / 1000); /* ms*/ +} cf_status_t cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err) @@ -280,6 +303,8 @@ cf_open(capture_file *cf, const char *fname, gboolean is_tempfile, int *err) /* If it's a temporary capture buffer file, mark it as not saved. */ cf->user_saved = !is_tempfile; + reset_elapsed(); + cf->cd_t = wtap_file_type(cf->wth); cf->count = 0; cf->displayed_count = 0; @@ -428,23 +453,6 @@ void outofmemory_cb(gpointer dialog _U_, gint btn _U_, gpointer data _U_) main_window_exit(); } -gulong -cf_get_computed_elapsed(void){ - return computed_elapsed; -} -static void compute_elapsed(GTimeVal *start_time) -{ - gdouble delta_time; - GTimeVal time_now; - - g_get_current_time(&time_now); - - delta_time = (time_now.tv_sec - start_time->tv_sec) * 1e6 + - time_now.tv_usec - start_time->tv_usec; - - computed_elapsed = (gulong) (delta_time / 1000); /* ms*/ -} - static float calc_progbar_val(capture_file *cf, gint64 size, gint64 file_pos){ float progbar_val; @@ -1750,6 +1758,8 @@ rescan_packets(capture_file *cf, const char *action, const char *action_item, cf->first_displayed = NULL; cf->last_displayed = NULL; + reset_elapsed(); + /* We currently don't display any packets */ cf->displayed_count = 0; -- cgit v1.2.3