]> git.lizzy.rs Git - nothing.git/commitdiff
(#709) Expose NodeLL internals
authorrexim <reximkut@gmail.com>
Sat, 2 Mar 2019 17:14:34 +0000 (00:14 +0700)
committerrexim <reximkut@gmail.com>
Sun, 3 Mar 2019 17:27:13 +0000 (00:27 +0700)
src/linked_list.c
src/linked_list.h

index e86bcde7f6f1591968651af8d18debde6e9556d6..154a16a3c101577a3e86706f89b87c49fabe87ec 100644 (file)
@@ -3,6 +3,7 @@
 #include <string.h>
 #include "system/stacktrace.h"
 #include "system/nth_alloc.h"
+
 #include "linked_list.h"
 
 struct LinkedList
@@ -11,13 +12,6 @@ struct LinkedList
     NodeLL *last;
 };
 
-struct NodeLL
-{
-    NodeLL *next;
-    NodeLL *prev;
-    char data[];
-};
-
 LinkedList *create_linked_list(size_t element_size)
 {
     LinkedList *linked_list = nth_alloc(sizeof(LinkedList));
@@ -115,3 +109,8 @@ void linked_list_remove(LinkedList *linked_list,
 
     free(noodle);
 }
+
+NodeLL *linked_list_last(const LinkedList *linked_list)
+{
+    return linked_list->last;
+}
index 31b3c195d3c72dd66e4f177c3024f7d2d04b69b0..1f5b09c7a4fb71ea15e62dfbd2c3a029bfcfd4ac 100644 (file)
@@ -2,7 +2,14 @@
 #define LINKED_LIST_H_
 
 typedef struct LinkedList LinkedList;
+
 typedef struct NodeLL NodeLL;
+struct NodeLL
+{
+    NodeLL *next;
+    NodeLL *prev;
+    char data[];
+};
 
 LinkedList *create_linked_list(size_t element_size);
 void destroy_linked_list(LinkedList *linked_list);
@@ -15,5 +22,6 @@ NodeLL *linked_list_find(const LinkedList *linked_list,
                                void *element);
 void linked_list_remove(LinkedList *linked_list,
                         NodeLL *noodle);
+NodeLL *linked_list_last(const LinkedList *linked_list);
 
 #endif  // LINKED_LIST_H_