Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
manifest: revert 27395aa508b46f317b24dbfdb4b4412386adf2d8
Baptiste Daroussin committed 4 years ago
commit 9bceb3a68f945642b863407bf14cf98361815f34
parent 27395aa
2 files changed +6 -30
modified libpkg/pkg.c
@@ -1343,37 +1343,14 @@ static int
pkg_parse_archive(struct pkg *pkg, struct pkg_manifest_key *keys,
    struct archive *a, size_t len)
{
-
	struct ucl_parser *p = NULL;
-
	ucl_object_t *obj = NULL;
-
	const void *buffer;
-
	size_t size;
-
	int64_t offset;
-
	int rc, ret_code;
+
	void *buffer;
+
	int rc;

-
	pkg_debug(2, "%s", "Parsing manifest from buffer");
+
	buffer = xmalloc(len);

-
	p = ucl_parser_new(UCL_PARSER_NO_FILEVARS);
-
	if (p == NULL)
-
		return (EPKG_FATAL);
-

-
	rc = archive_read_data_block(a, &buffer, &size, &offset);
-
	while (ARCHIVE_OK == rc)
-
	{
-
		if (!ucl_parser_add_chunk(p, buffer, size)) {
-
			pkg_emit_error("Error parsing manifest: %s",
-
					ucl_parser_get_error(p));
-
			ucl_parser_free(p);
-
			return (EPKG_FATAL);
-
		}
-
		rc = archive_read_data_block(a, &buffer, &size, &offset);
-
	}
-
	if ((obj = ucl_parser_get_object(p)) == NULL) {
-
		ucl_parser_free(p);
-
		return (EPKG_FATAL);
-
	}
-
	ucl_parser_free(p);
-
	rc = pkg_parse_manifest_ucl(pkg, obj, keys);
-
	ucl_object_unref(obj);
+
	archive_read_data(a, buffer, len);
+
	rc = pkg_parse_manifest(pkg, buffer, len, keys);
+
	free(buffer);
	return (rc);
}

modified libpkg/private/pkg.h
@@ -931,6 +931,5 @@ int set_attrsat(int fd, const char *path, mode_t perm, uid_t uid, gid_t gid, con
struct trigger *triggers_load(bool cleanup_only);
int triggers_execute(struct trigger *cleanup_triggers);
void append_touched_file(const char *path);
-
int pkg_parse_manifest_ucl (struct pkg *pkg, ucl_object_t *obj, struct pkg_manifest_key *keys);

#endif