Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix parsing of options
Baptiste Daroussin committed 12 years ago
commit a01aa14a08e97b2905e4f1d658feb3fba4ef0410
parent 3eede04
1 file changed +5 -5
modified libpkg/pkg_manifest.c
@@ -97,8 +97,8 @@ static struct manifest_key {
	{ "name",                PKG_NAME,                UCL_STRING, pkg_string},
	{ "name",                PKG_NAME,                UCL_INT,    pkg_string},
	{ "options",             PKG_OPTIONS,             UCL_OBJECT, pkg_object},
-
	{ "option_defaults",     PKG_OPTION_DEFAULTS,     UCL_STRING, pkg_object},
-
	{ "option_descriptions", PKG_OPTION_DESCRIPTIONS, UCL_STRING, pkg_object},
+
	{ "option_defaults",     PKG_OPTION_DEFAULTS,     UCL_OBJECT, pkg_object},
+
	{ "option_descriptions", PKG_OPTION_DESCRIPTIONS, UCL_OBJECT, pkg_object},
	{ "origin",              PKG_ORIGIN,              UCL_STRING, pkg_string},
	{ "path",                PKG_REPOPATH,            UCL_STRING, pkg_string},
	{ "pkgsize",             PKG_PKGSIZE,             UCL_INT,    pkg_int},
@@ -434,11 +434,11 @@ pkg_object(struct pkg *pkg, ucl_object_t *obj, int attr)
				   key);
			break;
		case PKG_OPTIONS:
-
			if (cur->type == UCL_STRING || cur->type == UCL_BOOLEAN)
-
				pkg_addoption(pkg, key, ucl_object_tostring_forced(cur));
-
			else
+
			if (cur->type != UCL_STRING && cur->type != UCL_BOOLEAN)
				pkg_emit_error("Skipping malformed option %s",
				    key);
+
			else
+
				pkg_addoption(pkg, key, ucl_object_tostring_forced(cur));
			break;
		case PKG_OPTION_DEFAULTS:
			if (cur->type != UCL_STRING)