diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/add.c | 13 | ||||
-rw-r--r-- | lib/libalpm/alpm.h | 6 | ||||
-rw-r--r-- | lib/libalpm/remove.c | 6 |
3 files changed, 15 insertions, 10 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)); |