diff options
-rw-r--r-- | lib/libalpm/add.c | 13 | ||||
-rw-r--r-- | lib/libalpm/alpm.h | 6 | ||||
-rw-r--r-- | lib/libalpm/remove.c | 6 | ||||
-rw-r--r-- | src/pacman/remove.c | 4 | ||||
-rw-r--r-- | src/pacman/sync.c | 2 | ||||
-rw-r--r-- | src/pacman/upgrade.c | 2 |
6 files changed, 19 insertions, 14 deletions
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index 6edceca1..008144b9 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -48,19 +48,20 @@ #include "handle.h" /** Add a package to the transaction. */ -int SYMEXPORT alpm_add_pkg(pmpkg_t *pkg) +int SYMEXPORT alpm_add_pkg(pmhandle_t *handle, pmpkg_t *pkg) { const char *pkgname, *pkgver; pmtrans_t *trans; - pmdb_t *db_local; pmpkg_t *local; /* Sanity checks */ + ASSERT(handle != NULL, return -1); ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); - trans = pkg->handle->trans; + ASSERT(handle == pkg->handle, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + trans = handle->trans; ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); - ASSERT(trans->state == STATE_INITIALIZED, RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1)); - db_local = pkg->handle->db_local; + ASSERT(trans->state == STATE_INITIALIZED, + RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1)); pkgname = pkg->name; pkgver = pkg->version; @@ -71,7 +72,7 @@ int SYMEXPORT alpm_add_pkg(pmpkg_t *pkg) RET_ERR(PM_ERR_TRANS_DUP_TARGET, -1); } - local = _alpm_db_get_pkgfromcache(db_local, pkgname); + local = _alpm_db_get_pkgfromcache(handle->db_local, pkgname); if(local) { const char *localpkgname = alpm_pkg_get_name(local); const char *localpkgver = alpm_pkg_get_version(local); diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 21444017..8742eacd 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -867,16 +867,18 @@ int alpm_sync_sysupgrade(pmhandle_t *handle, int enable_downgrade); /** Add a package to the transaction. * If the package was loaded by alpm_pkg_load(), it will be freed upon * alpm_trans_release() invocation. + * @param handle the context handle * @param pkg the package to add * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_add_pkg(pmpkg_t *pkg); +int alpm_add_pkg(pmhandle_t *handle, pmpkg_t *pkg); /** Add a package removal action to the transaction. + * @param handle the context handle * @param pkg the package to uninstall * @return 0 on success, -1 on error (pm_errno is set accordingly) */ -int alpm_remove_pkg(pmpkg_t *pkg); +int alpm_remove_pkg(pmhandle_t *handle, pmpkg_t *pkg); /** @} */ diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c index f32e77d8..fedc7faa 100644 --- a/lib/libalpm/remove.c +++ b/lib/libalpm/remove.c @@ -44,14 +44,16 @@ #include "deps.h" #include "handle.h" -int SYMEXPORT alpm_remove_pkg(pmpkg_t *pkg) +int SYMEXPORT alpm_remove_pkg(pmhandle_t *handle, pmpkg_t *pkg) { pmtrans_t *trans; const char *pkgname; /* Sanity checks */ + ASSERT(handle != NULL, return -1); ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); - trans = pkg->handle->trans; + ASSERT(handle == pkg->handle, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + trans = handle->trans; ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); ASSERT(trans->state == STATE_INITIALIZED, RET_ERR(PM_ERR_TRANS_NOT_INITIALIZED, -1)); diff --git a/src/pacman/remove.c b/src/pacman/remove.c index b96687ae..6da3b044 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -38,7 +38,7 @@ static int remove_target(const char *target) alpm_list_t *p; if((info = alpm_db_get_pkg(db_local, target)) != NULL) { - if(alpm_remove_pkg(info) == -1) { + if(alpm_remove_pkg(config->handle, info) == -1) { pm_fprintf(stderr, PM_LOG_ERROR, "'%s': %s\n", target, alpm_strerrorlast()); return -1; } @@ -53,7 +53,7 @@ static int remove_target(const char *target) } for(p = alpm_grp_get_pkgs(grp); p; p = alpm_list_next(p)) { pmpkg_t *pkg = alpm_list_getdata(p); - if(alpm_remove_pkg(pkg) == -1) { + if(alpm_remove_pkg(config->handle, pkg) == -1) { pm_fprintf(stderr, PM_LOG_ERROR, "'%s': %s\n", target, alpm_strerrorlast()); return -1; } diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 4cd8d212..57fec4bc 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -620,7 +620,7 @@ static pmdb_t *get_db(const char *dbname) static int process_pkg(pmpkg_t *pkg) { - int ret = alpm_add_pkg(pkg); + int ret = alpm_add_pkg(config->handle, pkg); if(ret == -1) { if(pm_errno == PM_ERR_TRANS_DUP_TARGET diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c index ddb8a2e8..fe49d882 100644 --- a/src/pacman/upgrade.c +++ b/src/pacman/upgrade.c @@ -82,7 +82,7 @@ int pacman_upgrade(alpm_list_t *targets) trans_release(); return 1; } - if(alpm_add_pkg(pkg) == -1) { + if(alpm_add_pkg(config->handle, pkg) == -1) { pm_fprintf(stderr, PM_LOG_ERROR, "'%s': %s\n", targ, alpm_strerrorlast()); alpm_pkg_free(pkg); |