Remove FREEPKG macro and correctly type _alpm_pkg_free
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
0984dab1f2
commit
a3491224df
9 changed files with 35 additions and 26 deletions
|
@ -124,7 +124,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
|
||||||
/* pm_errno is already set by pkg_load() */
|
/* pm_errno is already set by pkg_load() */
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
FREEPKG(i->data);
|
_alpm_pkg_free(i->data);
|
||||||
i->data = newpkg;
|
i->data = newpkg;
|
||||||
} else {
|
} else {
|
||||||
_alpm_log(PM_LOG_WARNING, _("newer version %s-%s is in the target list -- skipping"),
|
_alpm_log(PM_LOG_WARNING, _("newer version %s-%s is in the target list -- skipping"),
|
||||||
|
@ -156,7 +156,7 @@ int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
FREEPKG(info);
|
_alpm_pkg_free(info);
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -836,7 +836,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
|
||||||
|
|
||||||
EVENT(trans, (is_upgrade) ? PM_TRANS_EVT_UPGRADE_DONE : PM_TRANS_EVT_ADD_DONE, newpkg, oldpkg);
|
EVENT(trans, (is_upgrade) ? PM_TRANS_EVT_UPGRADE_DONE : PM_TRANS_EVT_ADD_DONE, newpkg, oldpkg);
|
||||||
|
|
||||||
FREEPKG(oldpkg);
|
_alpm_pkg_free(oldpkg);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* run ldconfig if it exists */
|
/* run ldconfig if it exists */
|
||||||
|
|
|
@ -1128,7 +1128,7 @@ alpm_list_t SYMEXPORT *alpm_get_upgrades()
|
||||||
/* none found -- enter pkg into the final sync list */
|
/* none found -- enter pkg into the final sync list */
|
||||||
sync = _alpm_sync_new(PM_SYNC_TYPE_REPLACE, spkg, NULL);
|
sync = _alpm_sync_new(PM_SYNC_TYPE_REPLACE, spkg, NULL);
|
||||||
if(sync == NULL) {
|
if(sync == NULL) {
|
||||||
FREEPKG(dummy);
|
_alpm_pkg_free(dummy);
|
||||||
pm_errno = PM_ERR_MEMORY;
|
pm_errno = PM_ERR_MEMORY;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -1192,7 +1192,7 @@ alpm_list_t SYMEXPORT *alpm_get_upgrades()
|
||||||
}
|
}
|
||||||
sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, dummy);
|
sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, dummy);
|
||||||
if(sync == NULL) {
|
if(sync == NULL) {
|
||||||
FREEPKG(dummy);
|
_alpm_pkg_free(dummy);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
syncpkgs = alpm_list_add(syncpkgs, sync);
|
syncpkgs = alpm_list_add(syncpkgs, sync);
|
||||||
|
|
|
@ -189,7 +189,7 @@ pmpkg_t *_alpm_db_scan(pmdb_t *db, const char *target)
|
||||||
/* explicitly read with only 'BASE' data, accessors will handle the rest */
|
/* explicitly read with only 'BASE' data, accessors will handle the rest */
|
||||||
if(_alpm_db_read(db, pkg, INFRQ_BASE) == -1) {
|
if(_alpm_db_read(db, pkg, INFRQ_BASE) == -1) {
|
||||||
/* TODO removed corrupt entry from the FS here */
|
/* TODO removed corrupt entry from the FS here */
|
||||||
FREEPKG(pkg);
|
_alpm_pkg_free(pkg);
|
||||||
} else {
|
} else {
|
||||||
pkg->data = db;
|
pkg->data = db;
|
||||||
pkg->origin = PKG_FROM_CACHE;
|
pkg->origin = PKG_FROM_CACHE;
|
||||||
|
|
|
@ -84,7 +84,11 @@ void _alpm_db_free_pkgcache(pmdb_t *db)
|
||||||
_alpm_log(PM_LOG_DEBUG, _("freeing package cache for repository '%s'"),
|
_alpm_log(PM_LOG_DEBUG, _("freeing package cache for repository '%s'"),
|
||||||
db->treename);
|
db->treename);
|
||||||
|
|
||||||
FREELISTPKGS(db->pkgcache);
|
alpm_list_t *tmp;
|
||||||
|
for(tmp = db->pkgcache; tmp; tmp = alpm_list_next(tmp)) {
|
||||||
|
_alpm_pkg_free(tmp->data);
|
||||||
|
}
|
||||||
|
db->pkgcache = NULL;
|
||||||
|
|
||||||
if(db->grpcache) {
|
if(db->grpcache) {
|
||||||
_alpm_db_free_grpcache(db);
|
_alpm_db_free_grpcache(db);
|
||||||
|
@ -157,7 +161,7 @@ int _alpm_db_remove_pkgfromcache(pmdb_t *db, pmpkg_t *pkg)
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
FREEPKG(data);
|
_alpm_pkg_free(data);
|
||||||
|
|
||||||
_alpm_db_free_grpcache(db);
|
_alpm_db_free_grpcache(db);
|
||||||
|
|
||||||
|
|
|
@ -656,7 +656,7 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
|
||||||
if(alpm_list_find_str(handle->ignorepkg, alpm_pkg_get_name(sync))) {
|
if(alpm_list_find_str(handle->ignorepkg, alpm_pkg_get_name(sync))) {
|
||||||
pmpkg_t *dummypkg = _alpm_pkg_new(miss->target, NULL);
|
pmpkg_t *dummypkg = _alpm_pkg_new(miss->target, NULL);
|
||||||
QUESTION(trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, dummypkg, sync, NULL, &usedep);
|
QUESTION(trans, PM_TRANS_CONV_INSTALL_IGNOREPKG, dummypkg, sync, NULL, &usedep);
|
||||||
FREEPKG(dummypkg);
|
_alpm_pkg_free(dummypkg);
|
||||||
}
|
}
|
||||||
if(usedep) {
|
if(usedep) {
|
||||||
trail = alpm_list_add(trail, sync);
|
trail = alpm_list_add(trail, sync);
|
||||||
|
|
|
@ -100,10 +100,8 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg)
|
||||||
return(newpkg);
|
return(newpkg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _alpm_pkg_free(void *data)
|
void _alpm_pkg_free(pmpkg_t *pkg)
|
||||||
{
|
{
|
||||||
pmpkg_t *pkg = data;
|
|
||||||
|
|
||||||
ALPM_LOG_FUNC;
|
ALPM_LOG_FUNC;
|
||||||
|
|
||||||
if(pkg == NULL) {
|
if(pkg == NULL) {
|
||||||
|
@ -125,8 +123,6 @@ void _alpm_pkg_free(void *data)
|
||||||
FREE(pkg->data);
|
FREE(pkg->data);
|
||||||
}
|
}
|
||||||
FREE(pkg);
|
FREE(pkg);
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Is pkgB an upgrade for pkgA ? */
|
/* Is pkgB an upgrade for pkgA ? */
|
||||||
|
@ -455,7 +451,7 @@ pkg_invalid:
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
error:
|
error:
|
||||||
FREEPKG(info);
|
_alpm_pkg_free(info);
|
||||||
archive_read_finish(archive);
|
archive_read_finish(archive);
|
||||||
|
|
||||||
return(NULL);
|
return(NULL);
|
||||||
|
|
|
@ -95,12 +95,9 @@ struct __pmpkg_t {
|
||||||
pmdbinfrq_t infolevel;
|
pmdbinfrq_t infolevel;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FREEPKG(p) do { if(p){_alpm_pkg_free(p); p = NULL;}} while(0)
|
|
||||||
#define FREELISTPKGS(p) _FREELIST(p, _alpm_pkg_free)
|
|
||||||
|
|
||||||
pmpkg_t* _alpm_pkg_new(const char *name, const char *version);
|
pmpkg_t* _alpm_pkg_new(const char *name, const char *version);
|
||||||
pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg);
|
pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg);
|
||||||
void _alpm_pkg_free(void *data);
|
void _alpm_pkg_free(pmpkg_t *pkg);
|
||||||
int _alpm_pkg_cmp(const void *p1, const void *p2);
|
int _alpm_pkg_cmp(const void *p1, const void *p2);
|
||||||
int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg);
|
int alpm_pkg_compare_versions(pmpkg_t *local_pkg, pmpkg_t *pkg);
|
||||||
pmpkg_t *_alpm_pkg_load(const char *pkgfile);
|
pmpkg_t *_alpm_pkg_load(const char *pkgfile);
|
||||||
|
|
|
@ -84,9 +84,15 @@ void _alpm_sync_free(pmsyncpkg_t *sync)
|
||||||
|
|
||||||
/* TODO wow this is ugly */
|
/* TODO wow this is ugly */
|
||||||
if(sync->type == PM_SYNC_TYPE_REPLACE) {
|
if(sync->type == PM_SYNC_TYPE_REPLACE) {
|
||||||
FREELISTPKGS(sync->data);
|
alpm_list_t *tmp;
|
||||||
|
for(tmp = sync->data; tmp; tmp = alpm_list_next(tmp)) {
|
||||||
|
_alpm_pkg_free(tmp->data);
|
||||||
|
tmp->data = NULL;
|
||||||
|
}
|
||||||
|
sync->data = NULL;
|
||||||
} else {
|
} else {
|
||||||
FREEPKG(sync->data);
|
_alpm_pkg_free(sync->data);
|
||||||
|
sync->data = NULL;
|
||||||
}
|
}
|
||||||
FREE(sync);
|
FREE(sync);
|
||||||
}
|
}
|
||||||
|
@ -148,7 +154,7 @@ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local,
|
||||||
/* none found -- enter pkg into the final sync list */
|
/* none found -- enter pkg into the final sync list */
|
||||||
sync = _alpm_sync_new(PM_SYNC_TYPE_REPLACE, spkg, NULL);
|
sync = _alpm_sync_new(PM_SYNC_TYPE_REPLACE, spkg, NULL);
|
||||||
if(sync == NULL) {
|
if(sync == NULL) {
|
||||||
FREEPKG(dummy);
|
_alpm_pkg_free(dummy);
|
||||||
pm_errno = PM_ERR_MEMORY;
|
pm_errno = PM_ERR_MEMORY;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
@ -229,7 +235,7 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_s
|
||||||
}
|
}
|
||||||
sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, tmp);
|
sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, tmp);
|
||||||
if(sync == NULL) {
|
if(sync == NULL) {
|
||||||
FREEPKG(tmp);
|
_alpm_pkg_free(tmp);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
trans->packages = alpm_list_add(trans->packages, sync);
|
trans->packages = alpm_list_add(trans->packages, sync);
|
||||||
|
@ -346,7 +352,7 @@ int _alpm_sync_addtarget(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sy
|
||||||
}
|
}
|
||||||
sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, dummy);
|
sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, dummy);
|
||||||
if(sync == NULL) {
|
if(sync == NULL) {
|
||||||
FREEPKG(dummy);
|
_alpm_pkg_free(dummy);
|
||||||
RET_ERR(PM_ERR_MEMORY, -1);
|
RET_ERR(PM_ERR_MEMORY, -1);
|
||||||
}
|
}
|
||||||
_alpm_log(PM_LOG_DEBUG, _("adding target '%s' to the transaction set"),
|
_alpm_log(PM_LOG_DEBUG, _("adding target '%s' to the transaction set"),
|
||||||
|
@ -591,7 +597,8 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
|
||||||
if(sync->type != PM_SYNC_TYPE_REPLACE) {
|
if(sync->type != PM_SYNC_TYPE_REPLACE) {
|
||||||
/* switch this sync type to REPLACE */
|
/* switch this sync type to REPLACE */
|
||||||
sync->type = PM_SYNC_TYPE_REPLACE;
|
sync->type = PM_SYNC_TYPE_REPLACE;
|
||||||
FREEPKG(sync->data);
|
_alpm_pkg_free(sync->data);
|
||||||
|
sync->data = NULL;
|
||||||
}
|
}
|
||||||
/* append to the replaces list */
|
/* append to the replaces list */
|
||||||
_alpm_log(PM_LOG_DEBUG, _("electing '%s' for removal"), miss->depend.name);
|
_alpm_log(PM_LOG_DEBUG, _("electing '%s' for removal"), miss->depend.name);
|
||||||
|
|
|
@ -86,8 +86,13 @@ void _alpm_trans_free(pmtrans_t *trans)
|
||||||
}
|
}
|
||||||
FREELIST(trans->packages);
|
FREELIST(trans->packages);
|
||||||
} else {
|
} else {
|
||||||
FREELISTPKGS(trans->packages);
|
alpm_list_t *tmp;
|
||||||
|
for(tmp = trans->packages; tmp; tmp = alpm_list_next(tmp)) {
|
||||||
|
_alpm_pkg_free(tmp->data);
|
||||||
|
tmp->data = NULL;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
trans->packages = NULL;
|
||||||
|
|
||||||
FREELIST(trans->skip_add);
|
FREELIST(trans->skip_add);
|
||||||
FREELIST(trans->skip_remove);
|
FREELIST(trans->skip_remove);
|
||||||
|
|
Loading…
Add table
Reference in a new issue