summaryrefslogtreecommitdiffstats
path: root/libopkg/pkg.c
diff options
context:
space:
mode:
authorpixdamix@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)
commit4136443a3a7413ccaa230e023a37084ac1f4d570 (patch)
treedb4909e15f7b4f79982a30a14ccca09bf7f7b544 /libopkg/pkg.c
parentc2bab50c95c1e90fdb8ab2c31161f8a416c56e98 (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.c2
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;