diff --git a/pkg.c b/pkg.c index de3f8c4..b84f847 100644 --- a/pkg.c +++ b/pkg.c @@ -99,7 +99,7 @@ pkg_find(const char *name, unsigned int flags) snprintf(uninst_locbuf, sizeof uninst_locbuf, "%s/%s-uninstalled" PKG_CONFIG_EXT, path[iter], name); free(path[iter]); - if ((f = fopen(uninst_locbuf, "r")) != NULL) + if (!(flags & PKGF_NO_UNINSTALLED) && (f = fopen(uninst_locbuf, "r")) != NULL) { pkg_t *pkg = parse_file(locbuf, f); pkg->uninstalled = true; @@ -131,7 +131,7 @@ pkg_find(const char *name, unsigned int flags) snprintf(uninst_locbuf, sizeof uninst_locbuf, "%s/%s-uninstalled" PKG_CONFIG_EXT, path[iter], name); free(path[iter]); - if ((f = fopen(uninst_locbuf, "r")) != NULL) + if (!(flags & PKGF_NO_UNINSTALLED) && (f = fopen(uninst_locbuf, "r")) != NULL) { pkg_t *pkg = parse_file(locbuf, f); pkg->uninstalled = true; diff --git a/pkg.h b/pkg.h index d3c8cda..b643578 100644 --- a/pkg.h +++ b/pkg.h @@ -120,6 +120,7 @@ struct pkg_ { #define PKGF_NONE 0x0 #define PKGF_SEARCH_PRIVATE 0x1 #define PKGF_ENV_ONLY 0x2 +#define PKGF_NO_UNINSTALLED 0x4 #define PKG_ERRF_OK 0x0 #define PKG_ERRF_PACKAGE_NOT_FOUND 0x1