[pacman-dev] [PATCH v3 1/2] pacman: refactor file match printing to their own functions
morganamilo
morganamilo at gmail.com
Tue May 28 21:30:07 UTC 2019
---
src/pacman/files.c | 71 ++++++++++++++++++++++++++--------------------
1 file changed, 41 insertions(+), 30 deletions(-)
diff --git a/src/pacman/files.c b/src/pacman/files.c
index fa4170bd..26f96a67 100644
--- a/src/pacman/files.c
+++ b/src/pacman/files.c
@@ -49,6 +49,15 @@ static void dump_pkg_machinereadable(alpm_db_t *db, alpm_pkg_t *pkg)
}
}
+static void print_owned_by(alpm_db_t *db, alpm_pkg_t *pkg, char *filename)
+{
+ const colstr_t *colstr = &config->colstr;
+ printf(_("%s is owned by %s%s/%s%s %s%s%s\n"), filename,
+ colstr->repo, alpm_db_get_name(db), colstr->title,
+ alpm_pkg_get_name(pkg), colstr->version,
+ alpm_pkg_get_version(pkg), colstr->nocolor);
+}
+
static int files_fileowner(alpm_list_t *syncs, alpm_list_t *targets) {
int ret = 0;
alpm_list_t *t;
@@ -77,11 +86,7 @@ static int files_fileowner(alpm_list_t *syncs, alpm_list_t *targets) {
if(config->op_f_machinereadable) {
print_line_machinereadable(repo, pkg, filename);
} else if(!config->quiet) {
- const colstr_t *colstr = &config->colstr;
- printf(_("%s is owned by %s%s/%s%s %s%s%s\n"), filename,
- colstr->repo, alpm_db_get_name(repo), colstr->title,
- alpm_pkg_get_name(pkg), colstr->version,
- alpm_pkg_get_version(pkg), colstr->nocolor);
+ print_owned_by(repo, pkg, filename);
} else {
printf("%s/%s\n", alpm_db_get_name(repo), alpm_pkg_get_name(pkg));
}
@@ -99,11 +104,39 @@ static int files_fileowner(alpm_list_t *syncs, alpm_list_t *targets) {
return 0;
}
+static void print_match(alpm_list_t *match, alpm_db_t *repo, alpm_pkg_t *pkg)
+{
+ alpm_db_t *db_local = alpm_get_localdb(config->handle);
+ const colstr_t *colstr = &config->colstr;
+
+ if(config->op_f_machinereadable) {
+ alpm_list_t *ml;
+ for(ml = match; ml; ml = alpm_list_next(ml)) {
+ char *filename = ml->data;
+ print_line_machinereadable(repo, pkg, filename);
+ }
+ } else if(config->quiet) {
+ printf("%s/%s\n", alpm_db_get_name(repo), alpm_pkg_get_name(pkg));
+ } else {
+ alpm_list_t *ml;
+ printf("%s%s/%s%s %s%s%s", colstr->repo, alpm_db_get_name(repo),
+ colstr->title, alpm_pkg_get_name(pkg),
+ colstr->version, alpm_pkg_get_version(pkg), colstr->nocolor);
+
+ print_groups(pkg);
+ print_installed(db_local, pkg);
+ printf("\n");
+
+ for(ml = match; ml; ml = alpm_list_next(ml)) {
+ char *filename = ml->data;
+ printf(" %s\n", filename);
+ }
+ }
+}
+
static int files_search(alpm_list_t *syncs, alpm_list_t *targets, int regex) {
int ret = 0;
- alpm_db_t *db_local = alpm_get_localdb(config->handle);
alpm_list_t *t;
- const colstr_t *colstr = &config->colstr;
for(t = targets; t; t = alpm_list_next(t)) {
char *targ = t->data;
@@ -148,29 +181,7 @@ static int files_search(alpm_list_t *syncs, alpm_list_t *targets, int regex) {
}
if(match != NULL) {
- if(config->op_f_machinereadable) {
- alpm_list_t *ml;
- for(ml = match; ml; ml = alpm_list_next(ml)) {
- char *filename = ml->data;
- print_line_machinereadable(repo, pkg, filename);
- }
- } else if(config->quiet) {
- printf("%s/%s\n", alpm_db_get_name(repo), alpm_pkg_get_name(pkg));
- } else {
- alpm_list_t *ml;
- printf("%s%s/%s%s %s%s%s", colstr->repo, alpm_db_get_name(repo),
- colstr->title, alpm_pkg_get_name(pkg),
- colstr->version, alpm_pkg_get_version(pkg), colstr->nocolor);
-
- print_groups(pkg);
- print_installed(db_local, pkg);
- printf("\n");
-
- for(ml = match; ml; ml = alpm_list_next(ml)) {
- c = ml->data;
- printf(" %s\n", c);
- }
- }
+ print_match(match, repo, pkg);
alpm_list_free(match);
}
}
--
2.21.0
More information about the pacman-dev
mailing list