[pacman-dev] [PATCH] Sort and avoid duplicates in -Sii output

Allan McRae allan at archlinux.org
Wed Mar 24 07:00:49 CET 2010


Signed-off-by: Allan McRae <allan at archlinux.org>
---
 lib/libalpm/package.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index f1682cb..ed6d71d 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -565,7 +565,9 @@ static void find_requiredby(pmpkg_t *pkg, pmdb_t *db, alpm_list_t **reqs)
 		pmpkg_t *cachepkg = i->data;
 		if(_alpm_dep_edge(cachepkg, pkg)) {
 			const char *cachepkgname = cachepkg->name;
-			*reqs = alpm_list_add(*reqs, strdup(cachepkgname));
+			if(alpm_list_find_str(*reqs, cachepkgname) == 0) {
+				*reqs = alpm_list_add(*reqs, strdup(cachepkgname));
+			}
 		}
 	}
 }
@@ -595,6 +597,7 @@ alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(pmpkg_t *pkg)
 			for(i = handle->dbs_sync; i; i = i->next) {
 				db = i->data;
 				find_requiredby(pkg, db, &reqs);
+				reqs = alpm_list_msort(reqs, alpm_list_count(reqs), _alpm_str_cmp);
 			}
 		}
 	}
-- 
1.7.0.3




More information about the pacman-dev mailing list