diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/be_package.c | 5 | ||||
-rw-r--r-- | lib/libalpm/signing.c | 3 | ||||
-rw-r--r-- | lib/libalpm/sync.c | 8 |
3 files changed, 9 insertions, 7 deletions
diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index 53618934..3b43ed84 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -542,18 +542,19 @@ int SYMEXPORT alpm_pkg_load(alpm_handle_t *handle, const char *filename, int ful alpm_siglevel_t level, alpm_pkg_t **pkg) { alpm_pkgvalidation_t validation = 0; + char *sigpath; CHECK_HANDLE(handle, return -1); ASSERT(pkg != NULL, RET_ERR(handle, ALPM_ERR_WRONG_ARGS, -1)); - char *sigpath = _alpm_sigpath(handle, filename); + sigpath = _alpm_sigpath(handle, filename); if(sigpath && !_alpm_access(handle, NULL, sigpath, R_OK)) { if(level & ALPM_SIG_PACKAGE) { alpm_list_t *keys = NULL; int fail = 0; unsigned char *sig = NULL; - int len = read_sigfile(sigpath, &sig); + if(len == -1) { _alpm_log(handle, ALPM_LOG_ERROR, _("failed to read signature file: %s\n"), sigpath); diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c index 41d2e364..c653e454 100644 --- a/lib/libalpm/signing.c +++ b/lib/libalpm/signing.c @@ -382,7 +382,8 @@ gpg_error: * @param fpr the fingerprint key ID to import * @return 0 on success, -1 on error */ -int _alpm_key_import(alpm_handle_t *handle, const char *fpr) { +int _alpm_key_import(alpm_handle_t *handle, const char *fpr) +{ int answer = 0, ret = -1; alpm_pgpkey_t fetch_key; memset(&fetch_key, 0, sizeof(fetch_key)); diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index be55500c..f7b956ca 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -539,10 +539,11 @@ int _alpm_sync_prepare(alpm_handle_t *handle, alpm_list_t **data) for(i = deps; i; i = i->next) { alpm_conflict_t *conflict = i->data; + int doremove = 0; + int found = 0; /* if conflict->package2 (the local package) is not elected for removal, we ask the user */ - int found = 0; for(j = trans->add; j && !found; j = j->next) { alpm_pkg_t *spkg = j->data; if(alpm_pkg_find(spkg->removes, conflict->package2)) { @@ -556,13 +557,12 @@ int _alpm_sync_prepare(alpm_handle_t *handle, alpm_list_t **data) _alpm_log(handle, ALPM_LOG_DEBUG, "package '%s' conflicts with '%s'\n", conflict->package1, conflict->package2); - alpm_pkg_t *sync = alpm_pkg_find(trans->add, conflict->package1); - alpm_pkg_t *local = _alpm_db_get_pkgfromcache(handle->db_local, conflict->package2); - int doremove = 0; QUESTION(handle, ALPM_QUESTION_CONFLICT_PKG, conflict->package1, conflict->package2, conflict->reason->name, &doremove); if(doremove) { /* append to the removes list */ + alpm_pkg_t *sync = alpm_pkg_find(trans->add, conflict->package1); + alpm_pkg_t *local = _alpm_db_get_pkgfromcache(handle->db_local, conflict->package2); _alpm_log(handle, ALPM_LOG_DEBUG, "electing '%s' for removal\n", conflict->package2); sync->removes = alpm_list_add(sync->removes, local); } else { /* abort */ |