From 6fb072f62c2f50118dd5cb377d10c76ece51e5fb Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sun, 4 Oct 2020 14:36:07 +0200 Subject: Setze srcut-Marker... --- list.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'list.c') diff --git a/list.c b/list.c index da0c702..24024da 100644 --- a/list.c +++ b/list.c @@ -9,13 +9,16 @@ /* Project */ #include "util.h" +/* --8<-- list_type */ typedef int T; struct list_item { struct list_item *next; T data; }; +/* -->8-- */ +/* --8<-- list_add */ struct list_item * list_add(struct list_item *next, T data) { @@ -31,7 +34,9 @@ list_add(struct list_item *next, T data) return new_item; } +/* -->8-- */ +/* --8<-- list_insert_next */ void list_insert_next(struct list_item *list, T data) { @@ -47,7 +52,9 @@ list_insert_next(struct list_item *list, T data) else ERROR("out of memory"); } +/* -->8-- */ +/* --8<-- list_delete */ struct list_item * list_delete(struct list_item *list, T data) { @@ -68,10 +75,14 @@ list_delete(struct list_item *list, T data) } prev = p; } - //ERROR("data not found"); /* uncomment, if this case should be reported as an error */ +#if LIST_REPORT_ERROR + ERROR("data not found"); +#endif return list; } +/* -->8-- */ +/* --8<-- list_delete_next */ void list_delete_next(struct list_item *list) { @@ -83,7 +94,9 @@ list_delete_next(struct list_item *list) free(temp); } } +/* -->8-- */ +/* --8<-- list_length */ size_t list_length(struct list_item *list) { @@ -94,7 +107,9 @@ list_length(struct list_item *list) return len; } +/* -->8-- */ +/* --8<-- list_copy */ struct list_item * list_copy(struct list_item *list) { @@ -112,7 +127,9 @@ list_copy(struct list_item *list) *p = NULL; return head; } +/* -->8-- */ +/* --8<-- list_reverse */ struct list_item * list_reverse(struct list_item *list) { @@ -125,7 +142,9 @@ list_reverse(struct list_item *list) } return head; } +/* -->8-- */ +/* --8<-- list_apply */ void list_apply(struct list_item *list, void (*visit)(T data, void *cl), void *cl) { @@ -133,7 +152,9 @@ list_apply(struct list_item *list, void (*visit)(T data, void *cl), void *cl) visit(list->data, cl); } } +/* -->8-- */ +/* --8<-- list_merge */ struct list_item * list_merge(struct list_item *a, struct list_item *b) { @@ -150,7 +171,9 @@ list_merge(struct list_item *a, struct list_item *b) return head->next; } +/* -->8-- */ +/* --8<-- list_sort */ struct list_item * list_sort(struct list_item *c) { @@ -167,7 +190,9 @@ list_sort(struct list_item *c) return list_merge(list_sort(a), list_sort(b)); } +/* -->8-- */ +/* --8<-- list_free */ void list_free(struct list_item *list) { @@ -178,12 +203,15 @@ list_free(struct list_item *list) free(list); } } +/* -->8-- */ +/* --8<-- list_apply_sample */ static void print_data(T data, void *cl) { fprintf(cl, "%d\n", data); } +/* -->8-- */ int main() -- cgit v1.3