summaryrefslogtreecommitdiff
path: root/src/app_fetch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/app_fetch.c')
-rw-r--r--src/app_fetch.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/app_fetch.c b/src/app_fetch.c
index 58afff4..fa2f7fa 100644
--- a/src/app_fetch.c
+++ b/src/app_fetch.c
@@ -301,9 +301,12 @@ static int mark_name(struct apk_database *db, const char *match, struct apk_name
if (!name) goto err;
- foreach_array_item(p, name->providers)
- if (pkg == NULL || apk_pkg_version_compare(p->pkg, pkg) == APK_VERSION_GREATER)
+ foreach_array_item(p, name->providers) {
+ if (pkg == NULL ||
+ (p->pkg->name == name && pkg->name != name) ||
+ apk_pkg_version_compare(p->pkg, pkg) == APK_VERSION_GREATER)
pkg = p->pkg;
+ }
if (!pkg) goto err;
mark_package(ctx, pkg);