summaryrefslogtreecommitdiff
path: root/src/app_search.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2023-03-04 13:54:54 +0200
committerTimo Teräs <timo.teras@iki.fi>2023-04-11 20:47:43 +0300
commit67f5a753e50da8737dc28b0ea2c2194b21d76fdd (patch)
tree657a81a529d2733eecae1837cc48ac25abe73357 /src/app_search.c
parentefb55ce650d3cac9a607560d840f95c1127e68f5 (diff)
downloadapk-tools-67f5a753e50da8737dc28b0ea2c2194b21d76fdd.tar.gz
apk-tools-67f5a753e50da8737dc28b0ea2c2194b21d76fdd.tar.bz2
apk-tools-67f5a753e50da8737dc28b0ea2c2194b21d76fdd.tar.xz
apk-tools-67f5a753e50da8737dc28b0ea2c2194b21d76fdd.zip
db, apps: sort display results based on package names
Diffstat (limited to 'src/app_search.c')
-rw-r--r--src/app_search.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/app_search.c b/src/app_search.c
index 866bb7a..3651ec6 100644
--- a/src/app_search.c
+++ b/src/app_search.c
@@ -143,13 +143,13 @@ match:
ctx->print_result(ctx, pkg);
}
-static void print_result(struct apk_database *db, const char *match, struct apk_name *name, void *pctx)
+static int print_result(struct apk_database *db, const char *match, struct apk_name *name, void *pctx)
{
struct search_ctx *ctx = pctx;
struct apk_provider *p;
struct apk_package *pkg = NULL;
- if (!name) return;
+ if (!name) return 0;
if (ctx->show_all) {
foreach_array_item(p, name->providers)
@@ -163,6 +163,7 @@ static void print_result(struct apk_database *db, const char *match, struct apk_
if (pkg)
print_result_pkg(ctx, pkg);
}
+ return 0;
}
static int print_pkg(apk_hash_item item, void *pctx)
@@ -193,9 +194,7 @@ static int search_main(void *pctx, struct apk_database *db, struct apk_string_ar
*pmatch = tmp;
}
}
- apk_name_foreach_matching(
- db, args, APK_FOREACH_NULL_MATCHES_ALL | apk_foreach_genid(),
- print_result, ctx);
+ apk_db_foreach_sorted_name(db, args, print_result, ctx);
return 0;
}