From 002acb467425755ea6203cce8c77733140489c18 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Sat, 17 Oct 2015 19:50:05 +1000 Subject: Do not print any root prefix in files database operations Combining with the --root flag and outputing a consistent root prefix leads to many situations that make no sense. Instead, do not print any prefix for any --files operations. Signed-off-by: Allan McRae --- src/pacman/files.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/pacman/files.c b/src/pacman/files.c index ceec3429..31ce9e07 100644 --- a/src/pacman/files.c +++ b/src/pacman/files.c @@ -61,7 +61,7 @@ static int files_fileowner(alpm_list_t *syncs, alpm_list_t *targets) { if(alpm_filelist_contains(files, f)) { if(!config->quiet) { - printf(_("%s is owned by %s/%s %s\n"), filename, + printf(_("%s is owned by %s/%s %s\n"), f, alpm_db_get_name(repo), alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); } else { @@ -166,6 +166,28 @@ notfound: return 0; } +static void dump_file_list(alpm_pkg_t *pkg) { + const char *pkgname; + alpm_filelist_t *pkgfiles; + size_t i; + + pkgname = alpm_pkg_get_name(pkg); + pkgfiles = alpm_pkg_get_files(pkg); + + for(i = 0; i < pkgfiles->count; i++) { + const alpm_file_t *file = pkgfiles->files + i; + /* Regular: ' \n' + * Quiet : '\n' + */ + if(!config->quiet) { + printf("%s%s%s ", config->colstr.title, pkgname, config->colstr.nocolor); + } + printf("%s\n", file->name); + } + + fflush(stdout); +} + static int files_list(alpm_list_t *syncs, alpm_list_t *targets) { alpm_list_t *i, *j; int ret = 0, found = 0; @@ -200,7 +222,7 @@ static int files_list(alpm_list_t *syncs, alpm_list_t *targets) { if((pkg = alpm_db_get_pkg(db, targ)) != NULL) { found = 1; - dump_pkg_files(pkg, config->quiet); + dump_file_list(pkg); break; } } @@ -218,7 +240,7 @@ static int files_list(alpm_list_t *syncs, alpm_list_t *targets) { for(j = alpm_db_get_pkgcache(db); j; j = alpm_list_next(j)) { alpm_pkg_t *pkg = j->data; - dump_pkg_files(pkg, config->quiet); + dump_file_list(pkg); } } } -- cgit v1.2.3-70-g09d2