From f38bac8883ea2e9ed8e2836f97a953efb85e774c Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Fri, 6 Nov 2015 10:51:35 +0100 Subject: common: Add new function strlist_rev. * common/strlist.c (strlist_rev): New function. * common/t-strlist.c: New file. * common/Makefile.am (common_sources): Add strlist.c and strlist.h. (module_tests): Add t-strlist. (t_strlist_LDADD): New variable. -- Signed-off-by: Neal H. Walfield --- common/strlist.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'common/strlist.c') 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; +} -- cgit v1.2.3