Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=b87ae66598606e211c8043a6872e4a44a5df1fed
commit b87ae66598606e211c8043a6872e4a44a5df1fed Author: Michel Hermier <herm...@frugalware.org> Date: Fri Nov 22 16:22:06 2013 +0100 libpacman: move downloadstate creation to the block it is used. diff --git a/lib/libpacman/server.c b/lib/libpacman/server.c index e556908..bf87fac 100644 --- a/lib/libpacman/server.c +++ b/lib/libpacman/server.c @@ -132,8 +132,9 @@ static int _pacman_curl_progresscb(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow) { if(dltotal > 0 && dlnow > 0) { pmdownloadstate_t *downloadstate = clientp; + downloadstate->dst_tell = downloadstate->dst_resume + dlnow; - downloadstate->dst_size = dltotal + downloadstate->dst_resume; + downloadstate->dst_size = downloadstate->dst_resume + dltotal; pm_dlcb(downloadstate); } return 0; @@ -170,7 +171,6 @@ int _pacman_downloadfiles(pmlist_t *servers, const char *localpath, pmlist_t *fi int _pacman_downloadfiles_forreal(pmlist_t *servers, const char *localpath, pmlist_t *files, const time_t *mtime1, time_t *mtime2, int skip) { - pmdownloadstate_t downloadstate = { 0 }; pmlist_t *lp; int done = 0; pmlist_t *complete = NULL; @@ -309,6 +309,7 @@ int _pacman_downloadfiles_forreal(pmlist_t *servers, const char *localpath, int filedone = 1; char *ptr; struct stat st; + snprintf(output, PATH_MAX, "%s/%s.part", localpath, fn); if(pm_dlfnm) { strncpy(pm_dlfnm, fn, PM_DLFNM_LEN); @@ -322,18 +323,6 @@ int _pacman_downloadfiles_forreal(pmlist_t *servers, const char *localpath, if(ptr && (ptr-fn) < PM_DLFNM_LEN) { pm_dlfnm[ptr-fn] = '\0'; } - downloadstate.dst_resume = 0; - - /* ETA setup */ - gettimeofday(&downloadstate.dst_begin, NULL); - if(pm_dlt && pm_dlrate && pm_dlxfered1 && pm_dleta_h && pm_dleta_m && pm_dleta_s) { - *pm_dlt = downloadstate.dst_begin; - *pm_dlrate = 0; - *pm_dlxfered1 = 0; - *pm_dleta_h = 0; - *pm_dleta_m = 0; - *pm_dleta_s = 0; - } if(!strcmp(server->protocol, "file")) { char src[PATH_MAX]; @@ -349,6 +338,19 @@ int _pacman_downloadfiles_forreal(pmlist_t *servers, const char *localpath, //download files using libcurl FILE * outputFile = NULL; CURLcode retc = CURLE_OK; + pmdownloadstate_t downloadstate = { 0 }; + + /* ETA setup */ + gettimeofday(&downloadstate.dst_begin, NULL); + if(pm_dlt && pm_dlrate && pm_dlxfered1 && pm_dleta_h && pm_dleta_m && pm_dleta_s) { + *pm_dlt = downloadstate.dst_begin; + *pm_dlrate = 0; + *pm_dlxfered1 = 0; + *pm_dleta_h = 0; + *pm_dleta_m = 0; + *pm_dleta_s = 0; + } + if(!curlHandle) { retc = curl_global_init(CURL_GLOBAL_DEFAULT); curlHandle = curl_easy_init(); _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git