patch 8.2.0500: using the same loop in many places
Problem: Using the same loop in many places.
Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339)
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 1f70dc5..4f9b3ca 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -2587,7 +2587,7 @@
ga_init2(&ga, (int)sizeof(char *), 3);
// Loop over the items in the list.
- for (li = retlist->lv_first; li != NULL; li = li->li_next)
+ FOR_ALL_LIST_ITEMS(retlist, li)
{
if (li->li_tv.v_type != VAR_STRING || li->li_tv.vval.v_string == NULL)
continue; // Skip non-string items and empty strings