Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=2ff9c2a15048096718c8a68513417ba34f99e254
commit 2ff9c2a15048096718c8a68513417ba34f99e254 Author: Michel Hermier <herm...@frugalware.org> Date: Thu Nov 28 13:47:04 2013 +0100 pacman: Simplify computation of differents time values. diff --git a/src/pacman-g2/download.c b/src/pacman-g2/download.c index 0083185..b72d1f3 100644 --- a/src/pacman-g2/download.c +++ b/src/pacman-g2/download.c @@ -56,8 +56,6 @@ int log_progress(const pmdownload_t *download) int pct; static int lastpct=0; unsigned int i, cur; - struct timeval t1; - float timediff; double eta, rate; unsigned int eta_h, eta_m, eta_s; /* a little hard to conceal easter eggs in open-source software, but @@ -69,6 +67,8 @@ int log_progress(const pmdownload_t *download) unsigned int maxpkglen; static char prev_fnm[DLFNM_PROGRESS_LEN+1]=""; + pacman_download_eta(download, &eta); + pacman_download_rate(download, &rate); pacman_download_resume(download, &offset); pacman_download_size(download, &fsz); pacman_download_xfered(download, &xfered); @@ -90,22 +90,14 @@ int log_progress(const pmdownload_t *download) pacman_get_option(PM_OPT_CHOMP, (long *)&chomp); - gettimeofday(&t1, NULL); if(xfered+offset == fsz) { - pacman_download_begin(download, &t); - } - timediff = t1.tv_sec-t.tv_sec + (float)(t1.tv_usec-t.tv_usec) / 1000000; + time_t now = time(NULL); + struct timeval begin; - if(xfered+offset == fsz) { pacman_download_avg(download, &rate); + pacman_download_begin(download, &begin); /* total download time */ - eta = (int)timediff; - } else if(timediff > 1) { - /* we avoid computing the rate & ETA on too small periods of time, so that - results are more significant */ - pacman_download_rate(download, &rate); - gettimeofday(&t, NULL); - pacman_download_eta(download, &eta); + eta = difftime(begin.tv_sec, now); } rate /= 1024; /* convert to KB/s */ eta_s = eta; _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git