Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
vec: convert pkg-message to vector
Baptiste Daroussin committed 1 year ago
commit c01f2b75bd8e2153740ea7a68425f9d2ee6acb04
parent 33650dc
7 files changed +23 -23
modified libpkg/pkg.c
@@ -103,7 +103,7 @@ pkg_free(struct pkg *pkg)
	vec_free_and_free(&pkg->licenses, free);
	pkg->flags &= ~PKG_LOAD_LICENSES;

-
	tll_free_and_free(pkg->message, pkg_message_free);
+
	vec_free_and_free(&pkg->message, pkg_message_free);
	vec_free_and_free(&pkg->annotations, pkg_kv_free);

	vec_free_and_free(&pkg->dir_to_del, free);
@@ -247,7 +247,7 @@ pkg_set_s(struct pkg *pkg, pkg_attr attr, const char *str)
		pkg->comment = xstrdup(str);
		break;
	case PKG_ATTR_MESSAGE:
-
		tll_free_and_free(pkg->message, pkg_message_free);
+
		vec_free_and_free(&pkg->message, pkg_message_free);
		if (*str == '[') {
			pkg_message_from_str(pkg, str, strlen(str));
		} else {
@@ -1409,7 +1409,7 @@ pkg_is_installed(struct pkgdb *db, const char *name)
bool
pkg_has_message(struct pkg *p)
{
-
	return (tll_length(p->message) > 0);
+
	return (vec_len(&p->message) > 0);
}

bool
@@ -1506,7 +1506,7 @@ pkg_message_from_ucl(struct pkg *pkg, const ucl_object_t *obj)
		msg = xcalloc(1, sizeof(*msg));
		msg->str = xstrdup(ucl_object_tostring(obj));
		msg->type = PKG_MESSAGE_ALWAYS;
-
		tll_push_back(pkg->message, msg);
+
		vec_push(&pkg->message, msg);
		return (EPKG_OK);
	}

@@ -1542,7 +1542,7 @@ pkg_message_from_ucl(struct pkg *pkg, const ucl_object_t *obj)
				    " message will always be printed");
		}
		if (msg->type != PKG_MESSAGE_UPGRADE) {
-
			tll_push_back(pkg->message, msg);
+
			vec_push(&pkg->message, msg);
			continue;
		}

@@ -1556,7 +1556,7 @@ pkg_message_from_ucl(struct pkg *pkg, const ucl_object_t *obj)
			msg->maximum_version = xstrdup(ucl_object_tostring(elt));
		}

-
		tll_push_back(pkg->message, msg);
+
		vec_push(&pkg->message, msg);
	}

	return (EPKG_OK);
@@ -1612,8 +1612,8 @@ pkg_message_to_ucl(const struct pkg *pkg)
	ucl_object_t *obj;

	array = ucl_object_typed_new(UCL_ARRAY);
-
	tll_foreach(pkg->message, t) {
-
		msg = t->item;
+
	vec_foreach(pkg->message, i) {
+
		msg = pkg->message.d[i];
		obj = ucl_object_typed_new (UCL_OBJECT);

		ucl_object_insert_key(obj,
@@ -1662,7 +1662,7 @@ pkg_message_to_str(struct pkg *pkg)
	ucl_object_t *obj;
	char *ret = NULL;

-
	if (tll_length(pkg->message) <= 0)
+
	if (vec_len(&pkg->message) <= 0)
		return (NULL);

	obj = pkg_message_to_ucl(pkg);
modified libpkg/pkg_add.c
@@ -1623,8 +1623,8 @@ pkg_add_common(struct pkg_add_db *db, const char *path, unsigned flags,
	else
		pkg_emit_upgrade_finished(pkg, local);

-
	tll_foreach(pkg->message, m) {
-
		msg = m->item;
+
	vec_foreach(pkg->message, i) {
+
		msg = pkg->message.d[i];
		msgstr = NULL;
		if (msg->type == PKG_MESSAGE_ALWAYS) {
			msgstr = msg->str;
modified libpkg/pkg_delete.c
@@ -120,14 +120,14 @@ pkg_delete(struct pkg *pkg, struct pkg *rpkg, struct pkgdb *db, int flags,

	if ((flags & PKG_DELETE_UPGRADE) == 0) {
		pkg_emit_deinstall_finished(pkg);
-
		tll_foreach(pkg->message, m) {
-
			if (m->item->type == PKG_MESSAGE_REMOVE) {
+
		vec_foreach(pkg->message, i) {
+
			if (pkg->message.d[i]->type == PKG_MESSAGE_REMOVE) {
				if (message == NULL) {
					message = xstring_new();
					pkg_fprintf(message->fp, "Message from "
					    "%n-%v:\n", pkg, pkg);
				}
-
				fprintf(message->fp, "%s\n", m->item->str);
+
				fprintf(message->fp, "%s\n", pkg->message.d[i]->str);
			}
		}
		if (pkg_has_message(pkg) && message != NULL) {
modified libpkg/pkg_ports.c
@@ -707,7 +707,7 @@ apply_keyword_file(ucl_object_t *obj, struct plist *p, char *line, struct file_a
				else if (STRIEQ(ucl_object_tostring(elt), "upgrade"))
					msg->type = PKG_MESSAGE_UPGRADE;
			}
-
			tll_push_back(p->pkg->message, msg);
+
			vec_push(&p->pkg->message, msg);
		}
	}

@@ -1355,10 +1355,10 @@ pkg_add_port(struct pkgdb *db, struct pkg *pkg, const char *input_path,
		pkg_emit_install_finished(pkg, NULL);
		if (pkg_has_message(pkg))
			message = xstring_new();
-
		tll_foreach(pkg->message, m) {
-
			if (m->item->type == PKG_MESSAGE_ALWAYS ||
-
			    m->item->type == PKG_MESSAGE_INSTALL) {
-
				fprintf(message->fp, "%s\n", m->item->str);
+
		vec_foreach(pkg->message, i) {
+
			if (pkg->message.d[i]->type == PKG_MESSAGE_ALWAYS ||
+
			    pkg->message.d[i]->type == PKG_MESSAGE_INSTALL) {
+
				fprintf(message->fp, "%s\n", pkg->message.d[i]->str);
			}
		}
		if (pkg_has_message(pkg)) {
modified libpkg/pkg_printf.c
@@ -1273,8 +1273,8 @@ format_message(xstring *buffer, const void *data, struct percent_esc *p)
	struct pkg_message	*msg;
	char			*message;

-
	tll_foreach(pkg->message, m) {
-
		msg = m->item;
+
	vec_foreach(pkg->message, i) {
+
		msg = pkg->message.d[i];
		if (bufmsg == NULL) {
			bufmsg = xstring_new();
		} else {
modified libpkg/pkgdb_iterator.c
@@ -882,7 +882,7 @@ populate_pkg(sqlite3_stmt *stmt, struct pkg *pkg) {
						struct pkg_message *message;
						message = xcalloc(1, sizeof(*message));
						message->str = xstrdup(msg);
-
						tll_push_back(pkg->message, message);
+
						vec_push(&pkg->message, message);
					}
				}
				break;
modified libpkg/private/pkg.h
@@ -171,7 +171,7 @@ struct pkg_repo;
struct url;
struct fetcher;
struct pkg_message;
-
typedef tll(struct pkg_message *) messages_t;
+
typedef vec_t(struct pkg_message *) messages_t;

struct pkg {
	bool		 direct;