aboutsummaryrefslogtreecommitdiffstats
path: root/common/strlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/strlist.c')
-rw-r--r--common/strlist.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/common/strlist.c b/common/strlist.c
index 9bd6195f9..760a46040 100644
--- a/common/strlist.c
+++ b/common/strlist.c
@@ -231,3 +231,22 @@ strlist_length (strlist_t list)
return i;
}
+
+/* Reverse the list *LIST in place. */
+strlist_t
+strlist_rev (strlist_t *list)
+{
+ strlist_t l = *list;
+ strlist_t lrev = NULL;
+
+ while (l)
+ {
+ strlist_t tail = l->next;
+ l->next = lrev;
+ lrev = l;
+ l = tail;
+ }
+
+ *list = lrev;
+ return lrev;
+}