diff options
author | Dan McGee <dan@archlinux.org> | 2011-06-16 13:15:11 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-06-22 12:31:12 -0500 |
commit | 54ef162a1a9e27e362732d873f0739bc0a2cf1bf (patch) | |
tree | e4ec6ba0ab94965c754a40d52a680f9fd69c4e37 /lib/libalpm/package.c | |
parent | 886a31ef205923fd5b29012ee75932a2e2dec4bd (diff) | |
download | pacman-54ef162a1a9e27e362732d873f0739bc0a2cf1bf.tar.xz |
Convert backup list to new pmbackup_t type
This allows us to separate the name and hash elements in one place and
not scatter different parsing code all over the place, including both
the frontend and backend.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/package.c')
-rw-r--r-- | lib/libalpm/package.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 0b0e9741..e99d5bd4 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -459,7 +459,9 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg) newpkg->replaces = alpm_list_strdup(pkg->replaces); newpkg->groups = alpm_list_strdup(pkg->groups); newpkg->files = alpm_list_strdup(pkg->files); - newpkg->backup = alpm_list_strdup(pkg->backup); + for(i = pkg->backup; i; i = alpm_list_next(i)) { + newpkg->backup = alpm_list_add(newpkg->backup, _alpm_backup_dup(i->data)); + } for(i = pkg->depends; i; i = alpm_list_next(i)) { newpkg->depends = alpm_list_add(newpkg->depends, _alpm_dep_dup(i->data)); } @@ -507,7 +509,8 @@ void _alpm_pkg_free(pmpkg_t *pkg) FREELIST(pkg->replaces); FREELIST(pkg->groups); FREELIST(pkg->files); - FREELIST(pkg->backup); + alpm_list_free_inner(pkg->backup, (alpm_list_fn_free)_alpm_backup_free); + alpm_list_free(pkg->backup); alpm_list_free_inner(pkg->depends, (alpm_list_fn_free)_alpm_dep_free); alpm_list_free(pkg->depends); FREELIST(pkg->optdepends); |