diff options
-rw-r--r-- | file.c | 44 | ||||
-rw-r--r-- | gtk/main_statusbar.c | 7 |
2 files changed, 30 insertions, 21 deletions
@@ -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; diff --git a/gtk/main_statusbar.c b/gtk/main_statusbar.c index 87a0841774..3db900b26a 100644 --- a/gtk/main_statusbar.c +++ b/gtk/main_statusbar.c @@ -364,12 +364,9 @@ profile_bar_new(void) /* * update the packets statusbar to the current values */ -void +void packets_bar_update(void) { - -gulong computed_elapsed = cf_get_computed_elapsed(); - if(packets_bar) { /* remove old status */ if(packets_str) { @@ -383,6 +380,8 @@ gulong computed_elapsed = cf_get_computed_elapsed(); packets_str = g_strdup_printf(" Packets: %u Displayed: %u Marked: %u Dropped: %u", cfile.count, cfile.displayed_count, cfile.marked_count, cfile.drops); } else { + gulong computed_elapsed = cf_get_computed_elapsed(); + packets_str = g_strdup_printf(" Packets: %u Displayed: %u Marked: %u Time: %02lu:%02lu:%02lu.%03lu", cfile.count, cfile.displayed_count, cfile.marked_count, computed_elapsed/3600000, |