diff options
author | P. J. McDermott <pj@pehjota.net> | 2014-07-05 12:49:32 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2014-07-05 22:16:45 (EDT) |
commit | bcffa93c4be3ea93d3126cca608e7dc0dcbdca6a (patch) | |
tree | 632dab2bd289491fe7ca5eca08ffcdd73e3660e7 /libopkg/pkg_hash.c | |
parent | 50ca9f6c7334da63aa416f9302d8cc242167ef04 (diff) |
pkg_hash_fetch_installed_by_name_vec: New function
Signed-off-by: P. J. McDermott <pj@pehjota.net>
Diffstat (limited to 'libopkg/pkg_hash.c')
-rw-r--r-- | libopkg/pkg_hash.c | 22 |
1 files changed, 22 insertions, 0 deletions
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) { |