index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | src/pacman/callback.c | 10 | ||||
-rw-r--r-- | src/pacman/callback.h | 3 | ||||
-rw-r--r-- | src/pacman/conf.c | 2 |
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); |