* Multiple delimiters result in empty substrings. By definition, no
* delimiters will appear in the substrings.
*
- * The final char * in the array will be NULL.
+ * The final char * in the array will be NULL, and tal_count() will
+ * return the number of elements plus 1 (for that NULL).
*
* Example:
* #include <ccan/tal/str/str.h>
char **split, *str;
void *ctx;
- plan_tests(65);
+ plan_tests(69);
split = strsplit(NULL, "hello world", " ", STR_EMPTY_OK);
ok1(!strcmp(split[0], "hello"));
ok1(!strcmp(split[1], ""));
ok1(!strcmp(split[2], "world"));
ok1(split[3] == NULL);
+ ok1(tal_count(split) == 4);
tal_free(split);
split = strsplit(NULL, "hello world", " ", STR_NO_EMPTY);
ok1(!strcmp(split[0], "hello"));
ok1(!strcmp(split[1], "world"));
ok1(split[2] == NULL);
+ ok1(tal_count(split) == 3);
tal_free(split);
split = strsplit(NULL, " hello world", " ", STR_NO_EMPTY);
ok1(!strcmp(split[0], "hello"));
ok1(!strcmp(split[1], "world"));
ok1(split[2] == NULL);
+ ok1(tal_count(split) == 3);
tal_free(split);
split = strsplit(NULL, "hello world", "o ", STR_EMPTY_OK);
ok1(!strcmp(split[3], "w"));
ok1(!strcmp(split[4], "rld"));
ok1(split[5] == NULL);
+ ok1(tal_count(split) == 6);
ctx = split;
split = strsplit(ctx, "hello world", "o ", STR_EMPTY_OK);