guess were doing link lists now, for real though

This commit is contained in:
morgan 2026-08-03 20:52:22 -07:00
parent 7f44da58b5
commit bafffedd0c
2 changed files with 38 additions and 0 deletions

17
include/element_list.h Normal file
View file

@ -0,0 +1,17 @@
#ifndef __ELEMENT_LIST_H__
#define __ELEMENT_LIST_H__
typedef struct element_list_node element_list_node_t;
struct element_list_node {
element_list_node_t *first;
element_list_node_t *last;
element_list_node_t *next;
element_list_node_t *prev;
cfglr_element_t *element;
};
element_list_node_t *element_list_add(element_list_node_t *list, element_list_node_t *node);
#endif

21
src/element_list.c Normal file
View file

@ -0,0 +1,21 @@
#include "configulator.h"
#include "element_list.h"
element_list_node_t *element_list_add(element_list_node_t *list, element_list_node_t *node) {
element_list_node_t *last = list->last;
node->first = list->first;
node->prev = last;
last->next = node;
element_list_node_t *next = node;
while(next) {
next->last = node;
next = next->prev;
}
return node;
}