From: Zbigniew Jędrzejewski-Szmek Date: Fri, 31 Jul 2020 13:07:23 +0000 (+0200) Subject: test-string-util: stop testing FOREACH_WORD X-Git-Tag: v247-rc1~275^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d59d954d7f6f5f3772b12e8078875183e0b27889;p=thirdparty%2Fsystemd.git test-string-util: stop testing FOREACH_WORD --- diff --git a/src/test/test-string-util.c b/src/test/test-string-util.c index b39fda0313b..196c96aa8cd 100644 --- a/src/test/test-string-util.c +++ b/src/test/test-string-util.c @@ -396,26 +396,34 @@ static void test_strcmp_ptr(void) { static void test_foreach_word(void) { log_info("/* %s */", __func__); - const char *word, *state; - size_t l; - int i = 0; - const char test[] = "test abc d\te f "; + const char *test = "test abc d\te f "; const char * const expected[] = { "test", "abc", "d", "e", "f", - "", - NULL }; - FOREACH_WORD(word, l, test, state) - assert_se(strneq(expected[i++], word, l)); + size_t i = 0; + int r; + for (const char *p = test;;) { + _cleanup_free_ char *word = NULL; + + r = extract_first_word(&p, &word, NULL, 0); + if (r == 0) { + assert_se(i == ELEMENTSOF(expected)); + break; + } + assert_se(r > 0); + + assert_se(streq(expected[i++], word)); + } } static void check(const char *test, char** expected, bool trailing) { - int i = 0, r; + size_t i = 0; + int r; printf("<<<%s>>>\n", test); for (;;) {