strv: add strv_print

Clearer, and spares the temp variable.
parent fa3cd739
...@@ -432,7 +432,6 @@ static int add_locales_from_libdir (Set *locales) { ...@@ -432,7 +432,6 @@ static int add_locales_from_libdir (Set *locales) {
static int list_locales(DBusConnection *bus, char **args, unsigned n) { static int list_locales(DBusConnection *bus, char **args, unsigned n) {
_cleanup_set_free_ Set *locales; _cleanup_set_free_ Set *locales;
_cleanup_strv_free_ char **l = NULL; _cleanup_strv_free_ char **l = NULL;
char **j;
int r; int r;
locales = set_new(string_hash_func, string_compare_func); locales = set_new(string_hash_func, string_compare_func);
...@@ -455,8 +454,7 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) { ...@@ -455,8 +454,7 @@ static int list_locales(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled(); pager_open_if_enabled();
STRV_FOREACH(j, l) strv_print(l);
puts(*j);
return 0; return 0;
} }
...@@ -539,7 +537,6 @@ static int nftw_cb( ...@@ -539,7 +537,6 @@ static int nftw_cb(
static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) { static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) {
char _cleanup_strv_free_ **l = NULL; char _cleanup_strv_free_ **l = NULL;
char **i;
keymaps = set_new(string_hash_func, string_compare_func); keymaps = set_new(string_hash_func, string_compare_func);
if (!keymaps) if (!keymaps)
...@@ -566,9 +563,7 @@ static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) { ...@@ -566,9 +563,7 @@ static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled(); pager_open_if_enabled();
STRV_FOREACH(i, l) strv_print(l);
puts(*i);
return 0; return 0;
} }
......
...@@ -774,3 +774,13 @@ char **strv_sort(char **l) { ...@@ -774,3 +774,13 @@ char **strv_sort(char **l) {
qsort(l, strv_length(l), sizeof(char*), str_compare); qsort(l, strv_length(l), sizeof(char*), str_compare);
return l; return l;
} }
void strv_print(char **l) {
char **s;
if (!l)
return;
STRV_FOREACH(s, l)
puts(*s);
}
...@@ -87,3 +87,4 @@ bool strv_overlap(char **a, char **b); ...@@ -87,3 +87,4 @@ bool strv_overlap(char **a, char **b);
char **strv_sort(char **l); char **strv_sort(char **l);
void strv_print(char **l);
...@@ -58,10 +58,7 @@ int main(int argc, char *argv[]) { ...@@ -58,10 +58,7 @@ int main(int argc, char *argv[]) {
strv_free(a); strv_free(a);
r = replace_env_argv((char**) line, (char**) env); r = replace_env_argv((char**) line, (char**) env);
strv_print(r);
STRV_FOREACH(i, r)
printf("%s\n", *i);
strv_free(r); strv_free(r);
t = normalize_env_assignment("foo=bar"); t = normalize_env_assignment("foo=bar");
...@@ -127,16 +124,13 @@ int main(int argc, char *argv[]) { ...@@ -127,16 +124,13 @@ int main(int argc, char *argv[]) {
strv_free(a); strv_free(a);
strv_free(b); strv_free(b);
STRV_FOREACH(i, r) strv_print(r);
printf("%s\n", *i);
printf("CLEANED UP:\n"); printf("CLEANED UP:\n");
r = strv_env_clean(r); r = strv_env_clean(r);
STRV_FOREACH(i, r) strv_print(r);
printf("%s\n", *i);
strv_free(r); strv_free(r);
return 0; return 0;
......
...@@ -425,7 +425,6 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) { ...@@ -425,7 +425,6 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) {
_cleanup_fclose_ FILE *f = NULL; _cleanup_fclose_ FILE *f = NULL;
_cleanup_strv_free_ char **zones = NULL; _cleanup_strv_free_ char **zones = NULL;
size_t n_zones = 0; size_t n_zones = 0;
char **i;
assert(args); assert(args);
assert(n == 1); assert(n == 1);
...@@ -487,8 +486,7 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) { ...@@ -487,8 +486,7 @@ static int list_timezones(DBusConnection *bus, char **args, unsigned n) {
pager_open_if_enabled(); pager_open_if_enabled();
strv_sort(zones); strv_sort(zones);
STRV_FOREACH(i, zones) strv_print(zones);
puts(*i);
return 0; return 0;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment