diff options
author | Aurelien Foret <aurelien@archlinux.org> | 2005-10-10 17:03:35 +0200 |
---|---|---|
committer | Aurelien Foret <aurelien@archlinux.org> | 2005-10-10 17:03:35 +0200 |
commit | 6b7b9787d52ac5e7f36ba18f697bb727d43c4915 (patch) | |
tree | deed2b10bd0519d6b7c86d5cadc825518c836217 | |
parent | 5d61a44759dee774e67178097c2f8acffe12836f (diff) | |
download | pacman-6b7b9787d52ac5e7f36ba18f697bb727d43c4915.tar.gz pacman-6b7b9787d52ac5e7f36ba18f697bb727d43c4915.tar.xz |
- more sanity checks
- alpm_pkg_free can now return an error code
-rw-r--r-- | lib/libalpm/alpm.c | 11 | ||||
-rw-r--r-- | lib/libalpm/alpm.h | 2 | ||||
-rw-r--r-- | lib/libalpm/trans.c | 8 |
3 files changed, 12 insertions, 9 deletions
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c index ebb01221..427c536b 100644 --- a/lib/libalpm/alpm.c +++ b/lib/libalpm/alpm.c @@ -394,8 +394,7 @@ void *alpm_pkg_getinfo(pmpkg_t *pkg, unsigned char parm) } break; /* Depends entry */ - /* ORE - not needed: the cache is loaded with DEPENDS by default + /* not needed: the cache is loaded with DEPENDS by default case PM_PKG_DEPENDS: case PM_PKG_REQUIREDBY: case PM_PKG_CONFLICTS: @@ -473,9 +472,14 @@ int alpm_pkg_load(char *filename, pmpkg_t **pkg) return(0); } -void alpm_pkg_free(pmpkg_t *pkg) +int alpm_pkg_free(pmpkg_t *pkg) { + ASSERT(pkg != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + ASSERT(pkg->origin != PKG_FROM_CACHE, RET_ERR(PM_ERR_XXX, -1)); + pkg_free(pkg); + + return(0); } int alpm_pkg_vercmp(const char *ver1, const char *ver2) @@ -542,6 +546,7 @@ void *alpm_trans_getinfo(unsigned char parm) /* Sanity checks */ ASSERT(handle != NULL, return(NULL)); + ASSERT(handle->trans != NULL, return(NULL)); trans = handle->trans; diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 3ab747e3..a6bdf384 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -156,7 +156,7 @@ enum { void *alpm_pkg_getinfo(PM_PKG *pkg, unsigned char parm); int alpm_pkg_load(char *filename, PM_PKG **pkg); -void alpm_pkg_free(PM_PKG *pkg); +int alpm_pkg_free(PM_PKG *pkg); int alpm_pkg_vercmp(const char *ver1, const char *ver2); /* diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c index 12d35806..7a91cb9b 100644 --- a/lib/libalpm/trans.c +++ b/lib/libalpm/trans.c @@ -81,9 +81,7 @@ void trans_free(pmtrans_t *trans) int trans_init(pmtrans_t *trans, unsigned char type, unsigned char flags, alpm_trans_cb_event event, alpm_trans_cb_conv conv) { /* Sanity checks */ - if(trans == NULL) { - RET_ERR(PM_ERR_TRANS_NULL, -1); - } + ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); /* ORE perform sanity checks on type and flags: @@ -148,7 +146,7 @@ int trans_prepare(pmtrans_t *trans, PMList **data) *data = NULL; /* Sanity checks */ - ASSERT(trans != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); /* If there's nothing to do, return without complaining */ if(trans->packages == NULL) { @@ -185,7 +183,7 @@ int trans_prepare(pmtrans_t *trans, PMList **data) int trans_commit(pmtrans_t *trans) { /* Sanity checks */ - ASSERT(trans != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1)); + ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); /* If there's nothing to do, return without complaining */ if(trans->packages == NULL) { |