diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2013-10-28 14:58:28 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2013-11-08 00:28:05 +0100 |
commit | af284d5fdb0ef15dbb7a2082380e2ec586599774 (patch) | |
tree | c1212e5acaef78afa98669a65f48653eb748d00d | |
parent | 88df07717de868dc2bd2424afefaea6c77efa4c0 (diff) | |
download | pacman-af284d5fdb0ef15dbb7a2082380e2ec586599774.tar.gz pacman-af284d5fdb0ef15dbb7a2082380e2ec586599774.tar.xz |
support ALPM_SIG_USE_DEFAULT for file siglevels
This brings file siglevels in line with how db siglevels are handled.
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | lib/libalpm/handle.c | 12 | ||||
-rw-r--r-- | src/pacman/conf.c | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 53c86c57..ea033b20 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -650,7 +650,11 @@ int SYMEXPORT alpm_option_set_local_file_siglevel(alpm_handle_t *handle, alpm_siglevel_t SYMEXPORT alpm_option_get_local_file_siglevel(alpm_handle_t *handle) { CHECK_HANDLE(handle, return -1); - return handle->localfilesiglevel; + if(handle->localfilesiglevel & ALPM_SIG_USE_DEFAULT) { + return handle->siglevel; + } else { + return handle->localfilesiglevel; + } } int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, @@ -670,7 +674,11 @@ int SYMEXPORT alpm_option_set_remote_file_siglevel(alpm_handle_t *handle, alpm_siglevel_t SYMEXPORT alpm_option_get_remote_file_siglevel(alpm_handle_t *handle) { CHECK_HANDLE(handle, return -1); - return handle->remotefilesiglevel; + if(handle->remotefilesiglevel & ALPM_SIG_USE_DEFAULT) { + return handle->siglevel; + } else { + return handle->remotefilesiglevel; + } } /* vim: set ts=2 sw=2 noet: */ diff --git a/src/pacman/conf.c b/src/pacman/conf.c index cd357ab6..231fe2ad 100644 --- a/src/pacman/conf.c +++ b/src/pacman/conf.c @@ -405,9 +405,7 @@ static int process_siglevel(alpm_list_t *values, alpm_siglevel_t *storage, static void merge_siglevel(alpm_siglevel_t *base, alpm_siglevel_t *over) { alpm_siglevel_t level = *over; - if(level & ALPM_SIG_USE_DEFAULT) { - level = *base; - } else { + if(!(level & ALPM_SIG_USE_DEFAULT)) { if(!(level & ALPM_SIG_PACKAGE_SET)) { level |= *base & ALPM_SIG_PACKAGE; level |= *base & ALPM_SIG_PACKAGE_OPTIONAL; |