Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Avoid endless packages reloading.
Vsevolod Stakhov committed 11 years ago
commit b76e86cbeb4fd9e027c4d7bc97aadf29058b2a6a
parent 6ca24db
1 file changed +4 -1
modified libpkg/repo/binary/query.c
@@ -365,7 +365,8 @@ pkg_repo_binary_ensure_loaded(struct pkg_repo *repo,
	struct pkg *cached = NULL;
	char path[MAXPATHLEN];

-
	if (flags & (PKG_LOAD_FILES|PKG_LOAD_DIRS)) {
+
	if ((flags & (PKG_LOAD_FILES|PKG_LOAD_DIRS)) != 0 &&
+
			(pkg->flags & (PKG_LOAD_FILES|PKG_LOAD_DIRS)) == 0) {
		/*
		 * Try to get that information from fetched package in cache
		 */
@@ -376,6 +377,8 @@ pkg_repo_binary_ensure_loaded(struct pkg_repo *repo,
			return (EPKG_FATAL);

		/* Now move required elements to the provided package */
+
		pkg_list_free(pkg, PKG_FILES);
+
		pkg_list_free(pkg, PKG_DIRS);
		pkg->files = cached->files;
		pkg->dirs = cached->dirs;
		cached->files = NULL;