On Fri, Apr 6, 2012 at 1:49 AM, Arokux B. <[email protected]> wrote: > This patch adds "[installed]" prefix to already installed optional dependency. > > Signed-off-by: Arokux [email protected] > --- > src/pacman/util.c | 43 +++++++++++++++++++++++++++++-------------- > 1 file changed, 29 insertions(+), 14 deletions(-) > > diff --git a/src/pacman/util.c b/src/pacman/util.c > index a5242ae..d0a049e 100644 > --- a/src/pacman/util.c > +++ b/src/pacman/util.c > @@ -1189,19 +1189,40 @@ static int depend_cmp(const void *d1, const void *d2) > return ret; > } > > +alpm_list_t *optdeps_to_strings(alpm_list_t *optdeps) > +{ > + alpm_list_t *i, *optstrings = NULL; > + alpm_db_t *localdb = alpm_get_localdb(config->handle); > + > + /* turn optdepends list into a text list */ > + for(i = optdeps; i; i = alpm_list_next(i)) { > + alpm_depend_t *optdep = i->data; > + char *optdepstring = alpm_dep_compute_string(optdep); > + > + if(alpm_find_satisfier(alpm_db_get_pkgcache(localdb), > optdepstring)) { > + char *optdepstring_in; > + pm_asprintf(&optdepstring_in, _("[installed] %s"), > optdepstring); > + free(optdepstring); > + > + optdepstring = optdepstring_in; > + optdepstring_in = NULL; > + } > + > + optstrings = alpm_list_add(optstrings, optdepstring); > + } > + > + return optstrings; > +} > + > void display_new_optdepends(alpm_pkg_t *oldpkg, alpm_pkg_t *newpkg) > { > - alpm_list_t *i, *old, *new, *optdeps, *optstrings = NULL; > + alpm_list_t *old, *new, *optdeps, *optstrings = NULL; > > old = alpm_pkg_get_optdepends(oldpkg); > new = alpm_pkg_get_optdepends(newpkg); > optdeps = alpm_list_diff(new, old, depend_cmp); > > - /* turn optdepends list into a text list */ > - for(i = optdeps; i; i = alpm_list_next(i)) { > - alpm_depend_t *optdep = i->data; > - optstrings = alpm_list_add(optstrings, > alpm_dep_compute_string(optdep)); > - } > + optstrings = optdeps_to_strings(optdeps); > > if(optstrings) { > printf(_("New optional dependencies for %s\n"), > alpm_pkg_get_name(newpkg)); > @@ -1214,15 +1235,9 @@ void display_new_optdepends(alpm_pkg_t *oldpkg, > alpm_pkg_t *newpkg) > > void display_optdepends(alpm_pkg_t *pkg) > { > - alpm_list_t *i, *optdeps, *optstrings = NULL; > + alpm_list_t *optstrings = NULL; > > - optdeps = alpm_pkg_get_optdepends(pkg); > - > - /* turn optdepends list into a text list */ > - for(i = optdeps; i; i = alpm_list_next(i)) { > - alpm_depend_t *optdep = i->data; > - optstrings = alpm_list_add(optstrings, > alpm_dep_compute_string(optdep)); > - } > + optstrings = optdeps_to_strings(alpm_pkg_get_optdepends(pkg)); > > if(optstrings) { > printf(_("Optional dependencies for %s\n"), > alpm_pkg_get_name(pkg));
Hi guys, the patch I sent 10 days ago hasn't got any attention. I would be interested to know why. Many thanks.
