summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/pacman/callback.c10
-rw-r--r--src/pacman/callback.h3
-rw-r--r--src/pacman/conf.c2
3 files changed, 12 insertions, 3 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index a129758b..613d59d4 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -648,7 +648,7 @@ void cb_dl_total(off_t total)
}
/* callback to handle display of download progress */
-void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total)
+static void dload_progress_event(const char *filename, off_t file_xfered, off_t file_total)
{
static double rate_last;
static off_t xfered_last;
@@ -858,6 +858,14 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total)
return;
}
+void cb_download(const char *filename, alpm_download_event_type_t event, void *data)
+{
+ if(event == ALPM_DOWNLOAD_PROGRESS) {
+ alpm_download_event_progress_t *progress = data;
+ dload_progress_event(filename, progress->downloaded, progress->total);
+ }
+}
+
/* Callback to handle notifications from the library */
void cb_log(alpm_loglevel_t level, const char *fmt, va_list args)
{
diff --git a/src/pacman/callback.h b/src/pacman/callback.h
index b4bde5f2..6d92e86b 100644
--- a/src/pacman/callback.h
+++ b/src/pacman/callback.h
@@ -37,7 +37,8 @@ void cb_progress(alpm_progress_t event, const char *pkgname, int percent,
/* callback to handle receipt of total download value */
void cb_dl_total(off_t total);
/* callback to handle display of download progress */
-void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total);
+void cb_download(const char *filename, alpm_download_event_type_t event,
+ void *data);
/* callback to handle messages/notifications from pacman library */
__attribute__((format(printf, 2, 0)))
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index 7390d741..ac5a5329 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -837,7 +837,7 @@ static int setup_libalpm(void)
config->handle = handle;
alpm_option_set_logcb(handle, cb_log);
- alpm_option_set_dlcb(handle, cb_dl_progress);
+ alpm_option_set_dlcb(handle, cb_download);
alpm_option_set_eventcb(handle, cb_event);
alpm_option_set_questioncb(handle, cb_question);
alpm_option_set_progresscb(handle, cb_progress);