summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2015-10-17 11:50:05 +0200
committerAllan McRae <allan@archlinux.org>2015-10-18 03:16:44 +0200
commit002acb467425755ea6203cce8c77733140489c18 (patch)
tree894f39c10649777214c8e5d923df6b7b9797e8b4 /src
parentcbb7e180c755d1e84983b583518626125781da8a (diff)
downloadpacman-002acb467425755ea6203cce8c77733140489c18.tar.gz
pacman-002acb467425755ea6203cce8c77733140489c18.tar.xz
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 <allan@archlinux.org>
Diffstat (limited to 'src')
-rw-r--r--src/pacman/files.c28
1 files changed, 25 insertions, 3 deletions
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: '<pkgname> <filepath>\n'
+ * Quiet : '<filepath>\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);
}
}
}