Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Nuke pkg_add_repo_url()
Marin Atanasov Nikolov committed 14 years ago
commit 83a30a49c1a12b56ac91071f9954bf9c6a218204
parent c505842428bd19e3d69f69226bb852a7ec65dd21
1 file changed +10 -20
modified libpkg/pkg.c
@@ -38,9 +38,6 @@ static struct _fields {
	[PKG_REPOURL] = {PKG_REMOTE, 1},
};

-
static int pkg_add_repo_url(struct pkg *pkg, const char *reponame);
-

-

int
pkg_new(struct pkg **pkg, pkg_t type)
{
@@ -210,6 +207,9 @@ pkg_get2(struct pkg const *const pkg, ...)
static int
pkg_vset(struct pkg *pkg, va_list ap)
{
+
	struct pkg_config_kv *repokv = NULL;
+
	char *reponame = NULL;
+
	char *repourl = NULL;
	int attr;

	while ((attr = va_arg(ap, int)) > 0) {
@@ -229,8 +229,13 @@ pkg_vset(struct pkg *pkg, va_list ap)
				continue;
			}

-
			if (attr == PKG_REPONAME)
-
				pkg_add_repo_url(pkg, str);
+
			if (attr == PKG_REPONAME) {
+
				pkg_get(pkg, PKG_REPONAME, &reponame, PKG_REPOURL, &repourl);
+
				while (pkg_config_list(PKG_CONFIG_REPOS, &repokv) == EPKG_OK) {
+
					if (strcmp(reponame, pkg_config_kv_get(repokv, PKG_CONFIG_KV_KEY)) == 0) 
+
						pkg_set(pkg, PKG_REPOURL, pkg_config_kv_get(repokv, PKG_CONFIG_KV_VALUE));
+
				}
+
			}

			sbuf_set(sbuf, str);
			continue;
@@ -1072,18 +1077,3 @@ pkg_copy_tree(struct pkg *pkg, const char *src, const char *dest)

	return (packing_finish(pack));
}
-

-
static int
-
pkg_add_repo_url(struct pkg *pkg, const char *reponame)
-
{
-
	struct pkg_config_kv *repokv = NULL;
-

-
	while (pkg_config_list(PKG_CONFIG_REPOS, &repokv) == EPKG_OK) {
-
		if (strcmp(reponame, pkg_config_kv_get(repokv, PKG_CONFIG_KV_KEY)) == 0) {
-
			pkg_set(pkg, PKG_REPOURL, pkg_config_kv_get(repokv, PKG_CONFIG_KV_VALUE));
-
			return (EPKG_OK);
-
		}
-
	}
-

-
	return (EPKG_FATAL);
-
}