diff --git a/pkg.c b/pkg.c index a4e9cf5..7a190a2 100644 --- a/pkg.c +++ b/pkg.c @@ -594,6 +594,9 @@ pkg_traverse(pkg_t *root, return eflags; } + if ((root->flags & PKG_PROPF_VIRTUAL) && (flags & PKGF_SKIP_ROOT_VIRTUAL)) + return eflags; + if (pkg_traverse_func != NULL) pkg_traverse_func(root, data); diff --git a/pkg.h b/pkg.h index 0453434..426929f 100644 --- a/pkg.h +++ b/pkg.h @@ -124,6 +124,7 @@ struct pkg_ { #define PKGF_SEARCH_PRIVATE 0x1 #define PKGF_ENV_ONLY 0x2 #define PKGF_NO_UNINSTALLED 0x4 +#define PKGF_SKIP_ROOT_VIRTUAL 0x8 #define PKG_ERRF_OK 0x0 #define PKG_ERRF_PACKAGE_NOT_FOUND 0x1