Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=fwsetup-ng.git;a=commitdiff;h=7d3a272bfb720e16975546aeef0372e62b758ff3

commit 7d3a272bfb720e16975546aeef0372e62b758ff3
Author: James Buren <r...@frugalware.org>
Date:   Wed Aug 29 17:48:34 2012 -0500

register global variables needed for tracking pacman downloads

diff --git a/src/install.c b/src/install.c
index c87074b..0aa5742 100644
--- a/src/install.c
+++ b/src/install.c
@@ -2,21 +2,36 @@
#include "local.h"

static PM_DB **databases = 0;
+static size_t databases_size = 1;
+static char dl_filename[PM_DLFNM_LEN+1] = {0};
+static int dl_offset = 0;
+static struct timeval dl_time0 = {0};
+static struct timeval dl_time1 = {0};
+static float dl_rate = 0;
+static int dl_xfered1 = 0;
+static unsigned char dl_eta_h = 0;
+static unsigned char dl_eta_m = 0;
+static unsigned char dl_eta_s = 0;
+static int dl_remain = 0;
+static int dl_total = 0;

static void install_database_callback(const char *name,PM_DB *db)
{
-  static size_t n = 1;
-
if(name == 0 || db == 0)
return;

-  databases = realloc(databases,sizeof(PM_DB *) * (n + 1));
+  databases = realloc(databases,sizeof(PM_DB *) * (databases_size + 1));
+
+  databases[databases_size - 1] = db;

-  databases[n - 1] = db;
+  databases[databases_size] = 0;

-  databases[n] = 0;
+  ++databases_size;
+}

-  ++n;
+static int install_download_callback(PM_NETBUF *ctl,int xfered,void *arg)
+{
+  return 1;
}

static bool install_setup(void)
@@ -45,5 +60,77 @@ static bool install_setup(void)
return false;
}

+  if(pacman_set_option(PM_OPT_DLCB,(long) install_download_callback) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLFNM,(long) dl_filename) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLOFFSET,(long) &dl_offset) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLT0,(long) &dl_time0) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLT,(long) &dl_time1) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLRATE,(long) &dl_rate) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLXFERED1,(long) &dl_xfered1) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLETA_H,(long) &dl_eta_h) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLETA_M,(long) &dl_eta_m) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLETA_S,(long) &dl_eta_s) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLREMAIN,(long) &dl_remain) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
+  if(pacman_set_option(PM_OPT_DLHOWMANY,(long) &dl_total) == -1)
+  {
+    fprintf(logfile,"%s: %s\n",__func__,pacman_strerror(pm_errno));
+    return false;
+  }
+
return true;
}
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to