From 3f8c817b6ec23c1874aa917e129d1dcc010c7abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Mon, 8 Jul 2013 15:18:10 +0300 Subject: del: don't print own name as reverse dependency --- src/del.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/del.c b/src/del.c index 7b5fd6c..3aef4f7 100644 --- a/src/del.c +++ b/src/del.c @@ -47,6 +47,9 @@ static void print_not_deleted_pkg(struct apk_package *pkg0, struct apk_dependenc { struct not_deleted_ctx *ctx = (struct not_deleted_ctx *) pctx; + if (pkg0->name == ctx->name) + goto no_print; + if (!ctx->header) { apk_message("World updated, but the following packages are not removed due to:"); ctx->header = 1; @@ -57,6 +60,7 @@ static void print_not_deleted_pkg(struct apk_package *pkg0, struct apk_dependenc } apk_print_indented(&ctx->indent, APK_BLOB_STR(pkg0->name->name)); +no_print: apk_pkg_foreach_reverse_dependency(pkg0, ctx->matches, print_not_deleted_pkg, pctx); } @@ -114,8 +118,10 @@ static int del_main(void *pctx, struct apk_database *db, struct apk_string_array foreach_array_item(change, changeset.changes) if (change->new_pkg != NULL) change->new_pkg->marked = 1; - apk_name_foreach_matching(db, args, apk_foreach_genid(), - print_not_deleted_name, &ndctx); + apk_name_foreach_matching( + db, args, + apk_foreach_genid() | APK_FOREACH_MARKED | APK_DEP_SATISFIES, + print_not_deleted_name, &ndctx); if (ndctx.header) printf("\n"); -- cgit v1.2.3