return 0;
}
-char **strv_split(const char *s, const char *separator) {
+char **strv_split_full(const char *s, const char *separator, bool quoted) {
const char *word, *state;
size_t l;
size_t n, i;
return new0(char*, 1);
n = 0;
- FOREACH_WORD_SEPARATOR(word, l, s, separator, state)
+ _FOREACH_WORD(word, l, s, separator, quoted, state)
n++;
r = new(char*, n+1);
return NULL;
i = 0;
- FOREACH_WORD_SEPARATOR(word, l, s, separator, state) {
+ _FOREACH_WORD(word, l, s, separator, quoted, state) {
r[i] = strndup(word, l);
if (!r[i]) {
strv_free(r);
return !l || !*l;
}
-char **strv_split(const char *s, const char *separator);
+char **strv_split_full(const char *s, const char *separator, bool quoted);
+static inline char **strv_split(const char *s, const char *separator) {
+ return strv_split_full(s, separator, false);
+}
char **strv_split_newlines(const char *s);
int strv_split_extract(char ***t, const char *s, const char *separators, ExtractFlags flags);