diff options
author | Nagy Gabor <ngaba@bibl.u-szeged.hu> | 2008-01-25 21:31:20 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2008-01-27 18:54:25 +0100 |
commit | ea828b5693d389d24c744841385b16cb37a32fce (patch) | |
tree | f985ae6d3f1fec2bd9c5f2eca78ed76a5f880dd5 /lib | |
parent | f432ce41e0892b17d062d8d64ac221e7bc4d718c (diff) | |
download | pacman-ea828b5693d389d24c744841385b16cb37a32fce.tar.gz pacman-ea828b5693d389d24c744841385b16cb37a32fce.tar.xz |
New _alpm_conflict_dup function
Added function to cleanly duplicate a conflict.
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libalpm/conflict.c | 11 | ||||
-rw-r--r-- | lib/libalpm/conflict.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index 7b4cd0c2..9f6f93da 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -62,6 +62,17 @@ void _alpm_conflict_free(pmconflict_t *conflict) FREE(conflict); } +pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict) +{ + pmconflict_t *newconflict; + CALLOC(newconflict, 1, sizeof(pmconflict_t), RET_ERR(PM_ERR_MEMORY, NULL)); + + STRDUP(newconflict->package1, conflict->package1, RET_ERR(PM_ERR_MEMORY, NULL)); + STRDUP(newconflict->package2, conflict->package2, RET_ERR(PM_ERR_MEMORY, NULL)); + + return(newconflict); +} + int _alpm_conflict_isin(pmconflict_t *needle, alpm_list_t *haystack) { alpm_list_t *i; diff --git a/lib/libalpm/conflict.h b/lib/libalpm/conflict.h index 98a3efe6..71ed579d 100644 --- a/lib/libalpm/conflict.h +++ b/lib/libalpm/conflict.h @@ -36,6 +36,7 @@ struct __pmfileconflict_t { }; pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2); +pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict); void _alpm_conflict_free(pmconflict_t *conflict); int _alpm_conflict_isin(pmconflict_t *needle, alpm_list_t *haystack); alpm_list_t *_alpm_innerconflicts(alpm_list_t *packages); |