summaryrefslogtreecommitdiff
path: root/src/app_version.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/app_version.c')
-rw-r--r--src/app_version.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/app_version.c b/src/app_version.c
index d5d9c88..2a8cdb8 100644
--- a/src/app_version.c
+++ b/src/app_version.c
@@ -107,7 +107,7 @@ static const struct apk_option_group optgroup_applet = {
.parse = option_parse_applet,
};
-static void ver_print_package_status(struct apk_database *db, const char *match, struct apk_name *name, void *pctx)
+static int ver_print_package_status(struct apk_database *db, const char *match, struct apk_name *name, void *pctx)
{
struct ver_ctx *ctx = (struct ver_ctx *) pctx;
struct apk_package *pkg;
@@ -119,10 +119,10 @@ static void ver_print_package_status(struct apk_database *db, const char *match,
int i, r = -1;
unsigned short tag, allowed_repos;
- if (!name) return;
+ if (!name) return 0;
pkg = apk_pkg_get_installed(name);
- if (!pkg) return;
+ if (!pkg) return 0;
tag = pkg->ipkg->repository_tag;
allowed_repos = db->repo_tags[tag].allowed_repos;
@@ -148,10 +148,10 @@ static void ver_print_package_status(struct apk_database *db, const char *match,
: APK_VERSION_UNKNOWN;
opstr = apk_version_op_string(r);
if ((ctx->limchars != NULL) && (strchr(ctx->limchars, *opstr) == NULL))
- return;
+ return 0;
if (apk_verbosity <= 0) {
printf("%s\n", pkg->name->name);
- return;
+ return 0;
}
tag = APK_DEFAULT_REPOSITORY_TAG;
@@ -167,6 +167,7 @@ static void ver_print_package_status(struct apk_database *db, const char *match,
pkgname, opstr,
BLOB_PRINTF(*latest),
BLOB_PRINTF(db->repo_tags[tag].tag));
+ return 0;
}
static int ver_main(void *pctx, struct apk_database *db, struct apk_string_array *args)
@@ -186,10 +187,7 @@ static int ver_main(void *pctx, struct apk_database *db, struct apk_string_array
if (apk_verbosity > 0)
printf("%-42sAvailable:\n", "Installed:");
- apk_name_foreach_matching(
- db, args, APK_FOREACH_NULL_MATCHES_ALL | apk_foreach_genid(),
- ver_print_package_status, ctx);
-
+ apk_db_foreach_sorted_name(db, args, ver_print_package_status, ctx);
return 0;
}