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

Reply via email to