_cleanup_free_ char *p;
_cleanup_strv_free_ char **s;
char **t;
+ int r;
p = strv_join_quoted((char **)split);
assert_se(p);
assert_se(p);
assert_se(streq(p, quoted));
- s = strv_split_quoted(quoted);
+ r = strv_split_quoted(&s, quoted);
+ assert_se(r == 0);
assert_se(s);
STRV_FOREACH(t, s) {
assert_se(*t);
_cleanup_free_ char *j;
unsigned i = 0;
char **t;
+ int r;
- s = strv_split_quoted(quoted);
+ r = strv_split_quoted(&s, quoted);
+ assert_se(r == 0);
assert_se(s);
j = strv_join(s, " | ");
- assert(j);
+ assert_se(j);
puts(j);
STRV_FOREACH(t, s)
}
static void test_invalid_unquote(const char *quoted) {
- char **s;
+ char **s = NULL;
+ int r;
- s = strv_split_quoted(quoted);
- assert(s == NULL);
+ r = strv_split_quoted(&s, quoted);
+ assert_se(s == NULL);
+ assert_se(r == -EINVAL);
}
static void test_strv_split(void) {
l = strv_split(str, ",");
- assert(l);
+ assert_se(l);
STRV_FOREACH(s, l) {
assert_se(streq(*s, input_table_multiple[i++]));
l = strv_split_newlines(str);
- assert(l);
+ assert_se(l);
STRV_FOREACH(s, l) {
assert_se(streq(*s, input_table_multiple[i++]));
test_invalid_unquote("a --b='c \"d e\"'");
test_invalid_unquote("a --b='c \"d e\" '");
test_invalid_unquote("a --b='c \"d e\"garbage");
+ test_invalid_unquote("'");
+ test_invalid_unquote("\"");
+ test_invalid_unquote("'x'y");
test_strv_split();
test_strv_split_newlines();