Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix compilation.
Vsevolod Stakhov committed 11 years ago
commit 3b20eeb7ae981054b87132f7d5a2ef11ef216bad
parent 83f807c
3 files changed +12 -9
modified libpkg/pkg_jobs.c
@@ -2155,7 +2155,7 @@ pkg_jobs_check_conflicts(struct pkg_jobs *j)
			if (p->type == PKG_REMOTE)
				pkgdb_ensure_loaded(j->db, p, PKG_LOAD_FILES|PKG_LOAD_DIRS);
		}
-
		if ((res = pkg_conflicts_append_chain(p, j)) != EPKG_OK)
+
		if ((res = pkg_conflicts_append_chain(ps->items[0], j)) != EPKG_OK)
			ret = res;
		else
			added ++;
modified libpkg/pkg_jobs_conflicts.c
@@ -42,6 +42,8 @@ struct pkg_conflict_chain {
	struct pkg_conflict_chain *next;
};

+
TREE_DEFINE(pkg_jobs_conflict_item, entry);
+

static int
pkg_conflicts_chain_cmp_cb(struct pkg_conflict_chain *a, struct pkg_conflict_chain *b)
{
@@ -269,8 +271,6 @@ pkg_conflicts_register_chain(struct pkg_jobs *j, struct pkg_job_universe_item *u
	const char *uid1, *uid2;
	bool ret = false;

-
	pkg_get(cur1->pkg, PKG_UNIQUEID, &uid1);
-
	pkg_get(cur2->pkg, PKG_UNIQUEID, &uid2);
	cur1 = u1;

	do {
@@ -278,6 +278,8 @@ pkg_conflicts_register_chain(struct pkg_jobs *j, struct pkg_job_universe_item *u
		cur2 = u2;
		do {
			struct pkg *p1 = cur1->pkg, *p2 = cur2->pkg;
+
			pkg_get(p1, PKG_UNIQUEID, &uid1);
+
			pkg_get(p2, PKG_UNIQUEID, &uid2);

			if (p1->type == PKG_INSTALLED && p2->type == PKG_INSTALLED) {
				/* Local and local packages cannot conflict */
@@ -352,7 +354,7 @@ pkg_conflicts_check_local_path(const char *path, const char *uid,
		assert(p != NULL);

		pkg_get(p, PKG_UNIQUEID, &uido);
-
		assert(strcmp(uid, uido) != NULL);
+
		assert(strcmp(uid, uido) != 0);

		HASH_FIND_STR(p->conflicts, uid, c);
		if (c == NULL) {
@@ -375,7 +377,7 @@ pkg_conflicts_check_all_paths(struct pkg_jobs *j, const char *path,
	struct pkg_conflict *c;
	uint64_t sipkey;

-
	sipkey = siphash24(path, strlen(path), &k);
+
	sipkey = siphash24(path, strlen(path), k);
	test.hash = sipkey;
	cit = TREE_FIND(j->conflict_items, pkg_jobs_conflict_item, entry, &test);

@@ -482,8 +484,9 @@ pkg_conflicts_append_chain(struct pkg_job_universe_item *it,
	struct pkg_job_universe_item *lp = NULL, *cur;

	/* Ensure that we have a tree initialized */
-
	if (j->conflict_items.th_cmp == NULL) {
-
		j->conflict_items.th_cmp = pkg_conflicts_item_cmp;
+
	if (j->conflict_items == NULL) {
+
		j->conflict_items = malloc(sizeof(*j->conflict_items));
+
		TREE_INIT(j->conflict_items, pkg_conflicts_item_cmp);
	}

	/* Find local package */
modified libpkg/private/pkg_jobs.h
@@ -101,7 +101,7 @@ struct pkg_jobs_universe {
struct pkg_jobs_conflict_item {
	uint64_t hash;
	struct pkg_job_universe_item *item;
-
	TREE_ENTRY(pkg_jobs_conflit_item) entry;
+
	TREE_ENTRY(pkg_jobs_conflict_item) entry;
};

struct pkg_jobs {
@@ -119,7 +119,7 @@ struct pkg_jobs {
	bool need_fetch;
	const char *reponame;
	const char *destdir;
-
	TREE_HEAD(, pkg_jobs_conflict_item) conflict_items;
+
	TREE_HEAD(, pkg_jobs_conflict_item) *conflict_items;
	struct job_pattern *patterns;
};