diff options
Diffstat (limited to 'main/apk-tools/0001-info-fix-exit-code-for-e.patch')
-rw-r--r-- | main/apk-tools/0001-info-fix-exit-code-for-e.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/main/apk-tools/0001-info-fix-exit-code-for-e.patch b/main/apk-tools/0001-info-fix-exit-code-for-e.patch new file mode 100644 index 000000000..5fa01ff39 --- /dev/null +++ b/main/apk-tools/0001-info-fix-exit-code-for-e.patch @@ -0,0 +1,50 @@ +From ebaf8305b5c9cc5bdc5d640f4cb25e058f7a2c26 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> +Date: Fri, 30 Mar 2012 09:20:21 +0300 +Subject: [PATCH] info: fix exit code for -e + +fixes #1069 +--- + src/info.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/info.c b/src/info.c +index ef7bf9b..e9f1b59 100644 +--- a/src/info.c ++++ b/src/info.c +@@ -71,7 +71,7 @@ static int info_exists(struct info_ctx *ctx, struct apk_database *db, + { + struct apk_name *name; + struct apk_dependency dep; +- int i, j, ok = 0; ++ int i, j, ok, rc = 0; + + for (i = 0; i < argc; i++) { + apk_blob_t b = APK_BLOB_STR(argv[i]); +@@ -84,6 +84,7 @@ static int info_exists(struct info_ctx *ctx, struct apk_database *db, + if (name == NULL) + continue; + ++ ok = 0; + for (j = 0; j < name->providers->num; j++) { + struct apk_provider *p = &name->providers->item[j]; + if (p->pkg->ipkg == NULL) +@@ -91,11 +92,13 @@ static int info_exists(struct info_ctx *ctx, struct apk_database *db, + if (!apk_dep_is_provided(&dep, p)) + continue; + verbose_print_pkg(p->pkg, 0); ++ ok = 1; + } +- ok++; ++ if (!ok) ++ rc++; + } + +- return argc - ok; ++ return rc; + } + + static int info_who_owns(struct info_ctx *ctx, struct apk_database *db, +-- +1.7.9.4 + |