From 1b8fbbd843ddeb5fc81c9303db9c590a436d499b Mon Sep 17 00:00:00 2001 From: William Casarin Date: Mon, 9 Jul 2018 12:10:32 -0700 Subject: progress --- ccan/list/test/compile_ok-constant.c | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 ccan/list/test/compile_ok-constant.c (limited to 'ccan/list/test/compile_ok-constant.c') diff --git a/ccan/list/test/compile_ok-constant.c b/ccan/list/test/compile_ok-constant.c new file mode 100644 index 0000000..c57cdad --- /dev/null +++ b/ccan/list/test/compile_ok-constant.c @@ -0,0 +1,49 @@ +#include +#include +#include +#include +#include + +struct child { + const char *name; + struct list_node list; +}; + +static bool children(const struct list_head *list) +{ + return !list_empty(list); +} + +static const struct child *first_child(const struct list_head *list) +{ + return list_top(list, struct child, list); +} + +static const struct child *last_child(const struct list_head *list) +{ + return list_tail(list, struct child, list); +} + +static void check_children(const struct list_head *list) +{ + list_check(list, "bad child list"); +} + +static void print_children(const struct list_head *list) +{ + const struct child *c; + list_for_each(list, c, list) + printf("%s\n", c->name); +} + +int main(void) +{ + LIST_HEAD(h); + + children(&h); + first_child(&h); + last_child(&h); + check_children(&h); + print_children(&h); + return 0; +} -- cgit v1.2.3