diff options
author | Dan McGee <dan@archlinux.org> | 2011-09-28 01:53:43 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2011-09-28 04:52:37 -0500 |
commit | 40a264478e65c652f863b3e43b0fc8aa10f0bd19 (patch) | |
tree | 4f0774d7e13583dca6a3e181d29f0e9c38dc009b /lib/libalpm/trans.h | |
parent | 6e081a0c57f0f6f14428f7cb78bb22f6848fe4af (diff) | |
download | pacman-40a264478e65c652f863b3e43b0fc8aa10f0bd19.tar.xz |
Track unresolvable transaction packages
Rather than free them right away, keep the list on the transaction as
we already do with add and remove lists. This is necessary because we
may be manipulating pointers the frontend needs to refer to packages,
and we are breaking our contract as stated in the alpm_add_pkg()
documentation of only freeing packages at the end of a transaction.
This fixes an issue found when refactoring the package list display
code.
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/trans.h')
-rw-r--r-- | lib/libalpm/trans.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libalpm/trans.h b/lib/libalpm/trans.h index a2be5a5c..38f45ff7 100644 --- a/lib/libalpm/trans.h +++ b/lib/libalpm/trans.h @@ -39,8 +39,9 @@ typedef enum _alpm_transstate_t { struct __alpm_trans_t { alpm_transflag_t flags; alpm_transstate_t state; - alpm_list_t *add; /* list of (alpm_pkg_t *) */ - alpm_list_t *remove; /* list of (alpm_pkg_t *) */ + alpm_list_t *unresolvable; /* list of (alpm_pkg_t *) */ + alpm_list_t *add; /* list of (alpm_pkg_t *) */ + alpm_list_t *remove; /* list of (alpm_pkg_t *) */ alpm_list_t *skip_remove; /* list of (char *) */ }; |