diff options
author | pixdamix@gmail.com <pixdamix@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2012-11-22 04:18:02 (EST) |
---|---|---|
committer | pixdamix@gmail.com <pixdamix@gmail.com@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2012-11-22 04:18:02 (EST) |
commit | 4136443a3a7413ccaa230e023a37084ac1f4d570 (patch) | |
tree | db4909e15f7b4f79982a30a14ccca09bf7f7b544 /libopkg/pkg.c | |
parent | c2bab50c95c1e90fdb8ab2c31161f8a416c56e98 (diff) |
detect circular dependencies
Add logic to detect circular dependencies. If we see any dependency from
any given parent twice, ignore it the second time and print a notice message
that we did so.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
git-svn-id: http://opkg.googlecode.com/svn/trunk@641 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/pkg.c')
-rw-r--r-- | libopkg/pkg.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libopkg/pkg.c b/libopkg/pkg.c index 3493a8b..018c0c7 100644 --- a/libopkg/pkg.c +++ b/libopkg/pkg.c @@ -86,6 +86,7 @@ pkg_init(pkg_t *pkg) pkg->section = NULL; pkg->description = NULL; pkg->state_want = SW_UNKNOWN; + pkg->wanted_by = pkg_vec_alloc(); pkg->state_flag = SF_OK; pkg->state_status = SS_NOT_INSTALLED; pkg->depends_str = NULL; @@ -191,6 +192,7 @@ pkg_deinit(pkg_t *pkg) pkg->description = NULL; pkg->state_want = SW_UNKNOWN; + pkg_vec_free(pkg->wanted_by); pkg->state_flag = SF_OK; pkg->state_status = SS_NOT_INSTALLED; |