From bcffa93c4be3ea93d3126cca608e7dc0dcbdca6a Mon Sep 17 00:00:00 2001
From: P. J. McDermott <pj@pehjota.net>
Date: Sat, 05 Jul 2014 12:49:32 -0400
Subject: pkg_hash_fetch_installed_by_name_vec: New function

Signed-off-by: P. J. McDermott <pj@pehjota.net>
---
diff --git a/libopkg/pkg_hash.c b/libopkg/pkg_hash.c
index 4618869..d37ec6a 100644
--- a/libopkg/pkg_hash.c
+++ b/libopkg/pkg_hash.c
@@ -574,6 +574,28 @@ pkg_hash_fetch_installed_by_name_dest(const char *pkg_name, pkg_dest_t *dest)
 	return NULL;
 }
 
+pkg_vec_t *
+pkg_hash_fetch_installed_by_name_vec(const char *pkg_name)
+{
+	pkg_vec_t *vec, *ret;
+	int i;
+
+	if (!(vec = pkg_vec_fetch_by_name(pkg_name))) {
+		return NULL;
+	}
+
+	ret = pkg_vec_alloc();
+
+	for (i = 0; i < vec->len; i++) {
+		if (vec->pkgs[i]->state_status == SS_INSTALLED
+				|| vec->pkgs[i]->state_status == SS_UNPACKED) {
+			pkg_vec_insert(ret, vec->pkgs[i]);
+		}
+	}
+
+	return ret;
+}
+
 pkg_t *
 pkg_hash_fetch_installed_by_name(const char *pkg_name)
 {
diff --git a/libopkg/pkg_hash.h b/libopkg/pkg_hash.h
index ed010ef..2f24eb3 100644
--- a/libopkg/pkg_hash.h
+++ b/libopkg/pkg_hash.h
@@ -48,6 +48,7 @@ pkg_t *pkg_hash_fetch_best_installation_candidate(abstract_pkg_t *apkg,
 						  int (*constraint_fcn)(pkg_t *pkg, void *data), void *cdata, int quiet);
 pkg_t *pkg_hash_fetch_best_installation_candidate_by_name(const char *name);
 pkg_t *pkg_hash_fetch_installed_by_name(const char *pkg_name);
+pkg_vec_t *pkg_hash_fetch_installed_by_name_vec(const char *pkg_name);
 pkg_t *pkg_hash_fetch_installed_by_name_dest(const char *pkg_name,
 					     pkg_dest_t *dest);
 
--
cgit v0.9.1