summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/main.c b/main.c
index 9df61e3..00733d9 100644
--- a/main.c
+++ b/main.c
@@ -1495,10 +1495,15 @@ define_makeflags (all, makefile)
if (all)
{
struct stringlist *sl = *(struct stringlist **) cs->value_ptr;
- register unsigned int i;
if (sl != 0)
- for (i = 0; i < sl->idx; ++i)
- ADD_FLAG (sl->list[i], strlen (sl->list[i]));
+ {
+ /* Add the elements in reverse order, because
+ all the flags get reversed below; and the order
+ matters for some switches (like -I). */
+ register unsigned int i = sl->idx;
+ while (i-- > 0)
+ ADD_FLAG (sl->list[i], strlen (sl->list[i]));
+ }
}
break;
}