From 7c2d80944afb4196f2eff614e8da1450dffcbeaa Mon Sep 17 00:00:00 2001 From: Thomas Hindoe Paaboel Andersen Date: Thu, 7 Feb 2013 00:15:27 +0100 Subject: [PATCH] strv: add strv_print Clearer, and spares the temp variable. --- src/locale/localectl.c | 9 ++------- src/shared/strv.c | 10 ++++++++++ src/shared/strv.h | 1 + src/test/test-env-replace.c | 12 +++--------- src/timedate/timedatectl.c | 4 +--- 5 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/locale/localectl.c b/src/locale/localectl.c index 290edcc10..8c3c8e3f0 100644 --- a/src/locale/localectl.c +++ b/src/locale/localectl.c @@ -432,7 +432,6 @@ static int add_locales_from_libdir (Set *locales) { static int list_locales(DBusConnection *bus, char **args, unsigned n) { _cleanup_set_free_ Set *locales; _cleanup_strv_free_ char **l = NULL; - char **j; int r; locales = set_new(string_hash_func, string_compare_func); @@ -455,8 +454,7 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { pager_open_if_enabled(); - STRV_FOREACH(j, l) - puts(*j); + strv_print(l); return 0; } @@ -539,7 +537,6 @@ static int nftw_cb( static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) { char _cleanup_strv_free_ **l = NULL; - char **i; keymaps = set_new(string_hash_func, string_compare_func); if (!keymaps) @@ -566,9 +563,7 @@ static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) { pager_open_if_enabled(); - STRV_FOREACH(i, l) - puts(*i); - + strv_print(l); return 0; } diff --git a/src/shared/strv.c b/src/shared/strv.c index 2d556f4a0..fc6104ffe 100644 --- a/src/shared/strv.c +++ b/src/shared/strv.c @@ -774,3 +774,13 @@ char **strv_sort(char **l) { qsort(l, strv_length(l), sizeof(char*), str_compare); return l; } + +void strv_print(char **l) { + char **s; + + if (!l) + return; + + STRV_FOREACH(s, l) + puts(*s); +} diff --git a/src/shared/strv.h b/src/shared/strv.h index fd728eff8..33c752a31 100644 --- a/src/shared/strv.h +++ b/src/shared/strv.h @@ -87,3 +87,4 @@ bool strv_overlap(char **a, char **b); char **strv_sort(char **l); +void strv_print(char **l); diff --git a/src/test/test-env-replace.c b/src/test/test-env-replace.c index cd596a6e1..ad5c99160 100644 --- a/src/test/test-env-replace.c +++ b/src/test/test-env-replace.c @@ -58,10 +58,7 @@ int main(int argc, char *argv[]) { strv_free(a); r = replace_env_argv((char**) line, (char**) env); - - STRV_FOREACH(i, r) - printf("%s\n", *i); - + strv_print(r); strv_free(r); t = normalize_env_assignment("foo=bar"); @@ -127,16 +124,13 @@ int main(int argc, char *argv[]) { strv_free(a); strv_free(b); - STRV_FOREACH(i, r) - printf("%s\n", *i); + strv_print(r); printf("CLEANED UP:\n"); r = strv_env_clean(r); - STRV_FOREACH(i, r) - printf("%s\n", *i); - + strv_print(r); strv_free(r); return 0; diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 281c0524d..f5b5f0ca8 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -425,7 +425,6 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) { _cleanup_fclose_ FILE *f = NULL; _cleanup_strv_free_ char **zones = NULL; size_t n_zones = 0; - char **i; assert(args); assert(n == 1); @@ -487,8 +486,7 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) { pager_open_if_enabled(); strv_sort(zones); - STRV_FOREACH(i, zones) - puts(*i); + strv_print(zones); return 0; } -- 2.30.2