Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Display which plugins have been loaded during startup
Marin Atanasov Nikolov committed 13 years ago
commit bd570b6e25eece26b472503e72dedb3c08e7577c
parent 4d5b0cd
3 files changed +33 -0
modified libpkg/pkg.h
@@ -893,7 +893,9 @@ int64_t pkgdb_stats(struct pkgdb *db, pkg_stats_t type);
int pkg_plugins_init(void);
int pkg_plugins_shutdown(void);
int pkg_plugins_list(struct pkg_plugins **plugin);
+
int pkg_plugins_display_loaded(void);
bool pkg_plugins_is_enabled(struct pkg_plugins *p);
+
bool pkg_plugins_is_loaded(struct pkg_plugins *p);
const char *pkg_plugins_get(struct pkg_plugins *p, pkg_plugins_key key);

/**
modified libpkg/plugins.c
@@ -334,6 +334,35 @@ pkg_plugins_is_enabled(struct pkg_plugins *p)
	return (is_enabled);
}

+
bool
+
pkg_plugins_is_loaded(struct pkg_plugins *p)
+
{
+
	bool is_loaded = false;
+

+
	assert(p != NULL);
+

+
	is_loaded = ((pkg_plugins_is_enabled(p)) && (p->lh != NULL));
+
	
+
	return (is_loaded);
+
}
+

+
int
+
pkg_plugins_display_loaded(void)
+
{
+
	struct pkg_plugins *p = NULL;
+

+
	if (!STAILQ_EMPTY(&ph))
+
		return (EPKG_OK);
+

+
	printf("Plugins loaded: ");
+
	
+
	while (pkg_plugins_list(&p) != EPKG_END)
+
		if (pkg_plugins_is_loaded(p))
+
			printf("%s ", pkg_plugins_get(p, PKG_PLUGINS_NAME));
+

+
	return (EPKG_OK);
+
}
+

int
pkg_plugins_list(struct pkg_plugins **plugin)
{
modified pkg/main.c
@@ -245,6 +245,8 @@ main(int argc, char **argv)
	if (pkg_plugins_init() != EPKG_OK)
		errx(EX_SOFTWARE, "Plugins cannot be loaded");

+
	pkg_plugins_display_loaded();
+

	if (version > 1) {
		printf("version: "PKGVERSION""GITHASH"\n");
		pkg_config_string(PKG_CONFIG_ABI, &buf);