From 6b7b9787d52ac5e7f36ba18f697bb727d43c4915 Mon Sep 17 00:00:00 2001 From: Aurelien Foret Date: Mon, 10 Oct 2005 15:03:35 +0000 Subject: - more sanity checks - alpm_pkg_free can now return an error code --- lib/libalpm/alpm.c | 11 ++++++++--- lib/libalpm/alpm.h | 2 +- lib/libalpm/trans.c | 8 +++----- 3 files changed, 12 insertions(+), 9 deletions(-) (limited to 'lib') 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) { -- cgit v1.2.3-54-g00ecf