diff options
author | Dan McGee <dan@archlinux.org> | 2011-09-01 17:16:56 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-09-02 21:45:03 -0500 |
commit | 37da18aee8d925ee5cd9f526f2c61d07e9db5b66 (patch) | |
tree | 3ed740826f4463c8779080b07b57adbde1fe5c3b /src | |
parent | d88e524e7c6e902dcf1c0afed52def0d8b430b25 (diff) | |
download | pacman-37da18aee8d925ee5cd9f526f2c61d07e9db5b66.tar.xz |
Move all callbacks up to the handle level
This was just disgusting before, unnecessary to limit these to only
usage in a transaction. Still a lot of more room for cleanup but we'll
start by attaching them to the handle rather than the transaction we may
or may not even want to use these callbacks.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/pacman/callback.c | 6 | ||||
-rw-r--r-- | src/pacman/conf.c | 3 | ||||
-rw-r--r-- | src/pacman/util.c | 8 |
3 files changed, 10 insertions, 7 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c index c299564c..c6146a3c 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c @@ -153,6 +153,9 @@ static void fill_progress(const int bar_percent, const int disp_percent, /* callback to handle messages/notifications from libalpm transactions */ void cb_trans_evt(alpm_transevt_t event, void *data1, void *data2) { + if(config->print) { + return; + } switch(event) { case ALPM_TRANS_EVT_CHECKDEPS_START: printf(_("checking dependencies...\n")); @@ -252,6 +255,9 @@ void cb_trans_evt(alpm_transevt_t event, void *data1, void *data2) void cb_trans_conv(alpm_transconv_t event, void *data1, void *data2, void *data3, int *response) { + if(config->print) { + return; + } switch(event) { case ALPM_TRANS_CONV_INSTALL_IGNOREPKG: if(!config->op_s_downloadonly) { diff --git a/src/pacman/conf.c b/src/pacman/conf.c index fe858499..f87824c9 100644 --- a/src/pacman/conf.c +++ b/src/pacman/conf.c @@ -534,6 +534,9 @@ static int setup_libalpm(void) alpm_option_set_logcb(handle, cb_log); alpm_option_set_dlcb(handle, cb_dl_progress); + alpm_option_set_eventcb(handle, cb_trans_evt); + alpm_option_set_convcb(handle, cb_trans_conv); + alpm_option_set_progresscb(handle, cb_trans_progress); config->logfile = config->logfile ? config->logfile : strdup(LOGFILE); ret = alpm_option_set_logfile(handle, config->logfile); diff --git a/src/pacman/util.c b/src/pacman/util.c index 599c18c4..594186f6 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -55,13 +55,7 @@ int trans_init(alpm_transflag_t flags, int check_valid) check_syncdbs(0, check_valid); - if(config->print) { - ret = alpm_trans_init(config->handle, flags, NULL, NULL, NULL); - } else { - ret = alpm_trans_init(config->handle, flags, cb_trans_evt, cb_trans_conv, - cb_trans_progress); - } - + ret = alpm_trans_init(config->handle, flags); if(ret == -1) { trans_init_error(); return -1; |