index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
author | Nagy Gabor <ngaba@bibl.u-szeged.hu> | 2008-01-14 14:29:41 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2008-01-27 11:52:46 -0600 |
commit | f432ce41e0892b17d062d8d64ac221e7bc4d718c (patch) | |
tree | 089f636f7ba24ad5ecc6f08288dd1e178ede3428 /lib | |
parent | 88cbee3c24768470cc0d4abe050e98b989807a67 (diff) |
-rw-r--r-- | lib/libalpm/sync.c | 22 |
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 3e99795f..27b5454f 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -78,20 +78,6 @@ void _alpm_sync_free(pmsyncpkg_t *sync) FREE(sync); } -static void synclist_free(alpm_list_t *syncpkgs) -{ - if(syncpkgs) { - alpm_list_t *tmp; - for(tmp = syncpkgs; tmp; tmp = alpm_list_next(tmp)) { - if(tmp->data) { - _alpm_sync_free(tmp->data); - } - } - alpm_list_free(syncpkgs); - } - -} - /* Find recommended replacements for packages during a sync. */ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local, @@ -154,7 +140,9 @@ static int find_replacements(pmtrans_t *trans, pmdb_t *db_local, sync = _alpm_sync_new(PM_SYNC_TYPE_REPLACE, spkg, NULL); if(sync == NULL) { pm_errno = PM_ERR_MEMORY; - synclist_free(*syncpkgs); + alpm_list_free_inner(*syncpkgs, (alpm_list_fn_free)_alpm_sync_free); + alpm_list_free(*syncpkgs); + *syncpkgs = NULL; return(-1); } sync->data = alpm_list_add(NULL, lpkg); @@ -244,7 +232,9 @@ int _alpm_sync_sysupgrade(pmtrans_t *trans, sync = _alpm_sync_new(PM_SYNC_TYPE_UPGRADE, spkg, local); if(sync == NULL) { pm_errno = PM_ERR_MEMORY; - synclist_free(*syncpkgs); + alpm_list_free_inner(*syncpkgs, (alpm_list_fn_free)_alpm_sync_free); + alpm_list_free(*syncpkgs); + *syncpkgs = NULL; return(-1); } *syncpkgs = alpm_list_add(*syncpkgs, sync); |