diff options
Diffstat (limited to 'common/strlist.c')
-rw-r--r-- | common/strlist.c | 19 |
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; +} |