Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Support emitting struct pkg to pkg_object.
Vsevolod Stakhov committed 11 years ago
commit 22e5002ab6cc125923a72b3181d8041f2197da73
parent c430b06
2 files changed +15 -2
modified libpkg/pkg_manifest.c
@@ -836,8 +836,8 @@ pkg_emit_filelist(struct pkg *pkg, FILE *f)
	return (EPKG_OK);
}

-
static int
-
emit_manifest(struct pkg *pkg, struct sbuf **out, short flags)
+
pkg_object*
+
pkg_emit_object(struct pkg *pkg, short flags)
{
	struct pkg_dep		*dep      = NULL;
	struct pkg_option	*option   = NULL;
@@ -1111,6 +1111,17 @@ emit_manifest(struct pkg *pkg, struct sbuf **out, short flags)
		    "message", 7, false);
	}

+
	return (top);
+
}
+

+

+
static int
+
emit_manifest(struct pkg *pkg, struct sbuf **out, short flags)
+
{
+
	ucl_object_t *top;
+

+
	top = pkg_emit_object(pkg, flags);
+

	if ((flags & PKG_MANIFEST_EMIT_PRETTY) == PKG_MANIFEST_EMIT_PRETTY)
		ucl_object_emit_sbuf(top, UCL_EMIT_YAML, out);
	else
modified libpkg/private/pkg.h
@@ -594,6 +594,8 @@ bool ucl_object_emit_sbuf(const ucl_object_t *obj, enum ucl_emitter emit_type,
bool ucl_object_emit_file(const ucl_object_t *obj, enum ucl_emitter emit_type,
    FILE *);

+
pkg_object* pkg_emit_object(struct pkg *pkg, short flags);
+

/* Hash is in format <version>:<typeid>:<hexhash> */
#define PKG_CHECKSUM_SHA256_LEN (SHA256_DIGEST_LENGTH * 2 + 10)
#define PKG_CHECKSUM_CUR_VERSION 1