On Sun, Jul 14, 2024 at 12:17:53PM +0200, René Scharfe wrote: > + do { \ > + const char *expect[] = { __VA_ARGS__ }; \ > + if (check_uint(ARRAY_SIZE(expect), >, 0) && \ > + check_pointer_eq(expect[ARRAY_SIZE(expect) - 1], NULL) && \ > + check_uint((vec)->nr, ==, ARRAY_SIZE(expect) - 1) && \ > + check_uint((vec)->nr, <=, (vec)->alloc)) { \ > + for (size_t i = 0; i < ARRAY_SIZE(expect); i++) { \ > + if (!check_str((vec)->v[i], expect[i])) { \ > + test_msg(" i: %"PRIuMAX, i); \ > + break; \ > + } \ > + } \ > + } \ > + } while (0) The linux32 CI job seems to complain about this, since the concrete type of "i" (a size_t) is "unsigned int" there, but PRIuMAX is %llu. Presumably you just need to cast to uintmax_t. -Peff