Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Merge branch 'master' of github.com:freebsd/pkg
Matthew Seaman committed 11 years ago
commit ac5412b66693814829ab53a1180f282ec653fcc1
parent 6585a76
2 files changed +10 -3
modified libpkg/pkg_ports.c
@@ -1056,7 +1056,8 @@ plist_new(struct pkg *pkg, const char *stage)

	p->pkg = pkg;
	pkg_get(pkg, PKG_PREFIX, &prefix);
-
	strlcpy(p->prefix, prefix, sizeof(p->prefix));
+
	if (prefix != NULL)
+
		strlcpy(p->prefix, prefix, sizeof(p->prefix));
	p->slash = p->prefix[strlen(p->prefix) - 1] == '/' ? "" : "/";
	p->stage = stage;
	p->uname = strdup("root");
modified tests/lib/plist.c
@@ -70,14 +70,20 @@ ATF_TC_BODY(parse_plist, tc)
	struct pkg *p;
	struct plist *plist;
	char buf[BUFSIZ];
+
	const char *prefix;

	ATF_REQUIRE_EQ(EPKG_OK, pkg_new(&p, PKG_INSTALLED));

-
	pkg_set(p, PKG_PREFIX, "/myprefix");
-

	plist = plist_new(p, NULL);
	ATF_REQUIRE(plist != NULL);
	ATF_REQUIRE(plist->pkg == p);
+
	ATF_REQUIRE_EQ(plist->prefix[0], '\0');
+

+
	strlcpy(buf, "@cwd /myprefix", BUFSIZ);
+
	ATF_REQUIRE_EQ(EPKG_OK, plist_parse_line(p, plist, buf));
+
	pkg_get(p, PKG_PREFIX, &prefix);
+
	ATF_REQUIRE_STREQ(prefix, "/myprefix");
+

	ATF_REQUIRE_STREQ(plist->prefix, "/myprefix");

	ATF_REQUIRE_STREQ(plist->uname, "root");