The indentation was wrong, also put the semicolon on a separate line to make it clear it is a for-loop
with an epmyt body.
for ((s) = (l); (s) && *(s); (s)++)
#define STRV_FOREACH_BACKWARDS(s, l) \
- STRV_FOREACH(s, l) ; \
- for ((s)--; (l) && ((s) >= (l)); (s)--)
+ STRV_FOREACH(s, l) \
+ ; \
+ for ((s)--; (l) && ((s) >= (l)); (s)--)
#define STRV_FOREACH_PAIR(x, y, l) \
for ((x) = (l), (y) = (x+1); (x) && *(x) && *(y); (x) += 2, (y) = (x + 1))