return l;
}
+#endif // 0
int strv_split_extract(char ***t, const char *s, const char *separators, ExtractFlags flags) {
_cleanup_strv_free_ char **l = NULL;
return (int) n;
}
-#endif // 0
char *strv_join(char **l, const char *separator) {
char *r, *e;
/* Like strv_extend(), but prepends rather than appends the new entry */
+ if (!value)
+ return 0;
+
n = strv_length(*l);
/* Increase and overflow check. */
if (m < n)
return -ENOMEM;
- if (value) {
- v = strdup(value);
- if (!v)
- return -ENOMEM;
- } else
- v = NULL;
+ v = strdup(value);
+ if (!v)
+ return -ENOMEM;
c = realloc_multiply(*l, sizeof(char*), m);
if (!c) {
}
char **strv_sort(char **l) {
-
- if (strv_isempty(l))
- return l;
-
- qsort(l, strv_length(l), sizeof(char*), str_compare);
+ qsort_safe(l, strv_length(l), sizeof(char*), str_compare);
return l;
}
-#if 0 /// UNNEEDED by elogind
bool strv_equal(char **a, char **b) {
if (strv_isempty(a))
puts(*s);
}
+#if 0 /// UNNEEDED by elogind
int strv_extendf(char ***l, const char *format, ...) {
va_list ap;
char *x;
return l;
}
+#endif // 0
int strv_extend_n(char ***l, const char *value, size_t n) {
size_t i, j, k;
return -ENOMEM;
}
+#if 0 /// UNNEEDED by elogind
int fputstrv(FILE *f, char **l, const char *separator, bool *space) {
bool b = false;
char **s;