summaryrefslogtreecommitdiff
path: root/src/basic/strv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/basic/strv.c')
-rw-r--r--src/basic/strv.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/basic/strv.c b/src/basic/strv.c
index 0a3d15706f..dc5bafcf24 100644
--- a/src/basic/strv.c
+++ b/src/basic/strv.c
@@ -871,3 +871,34 @@ rollback:
nl[k] = NULL;
return -ENOMEM;
}
+
+int fputstrv(FILE *f, char **l, const char *separator, bool *space) {
+ bool b = false;
+ char **s;
+ int r;
+
+ /* Like fputs(), but for strv, and with a less stupid argument order */
+
+ if (!f)
+ f = stdout;
+ if (!separator)
+ separator = " ";
+ if (!space)
+ space = &b;
+
+ STRV_FOREACH(s, l) {
+ if (*space) {
+ r = fputs(separator, f);
+ if (r < 0)
+ return r;
+ }
+
+ r = fputs(*s, f);
+ if (r < 0)
+ return r;
+
+ *space = true;
+ }
+
+ return 0;
+}