summaryrefslogtreecommitdiff
path: root/rushs/tinyprintf/dlist/dlist-2.c
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-10-11 22:19:00 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-10-11 22:19:00 +0200
commit73c2b00a10c5786ddeeacc915e233fd4df1c9321 (patch)
treee299ea4e8ac161b2b21170172ff8f182c1c3fe1a /rushs/tinyprintf/dlist/dlist-2.c
parentc9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c (diff)
fix: evalexpr & tinyprintf contenaient toute la piscine
Diffstat (limited to 'rushs/tinyprintf/dlist/dlist-2.c')
-rw-r--r--rushs/tinyprintf/dlist/dlist-2.c113
1 files changed, 0 insertions, 113 deletions
diff --git a/rushs/tinyprintf/dlist/dlist-2.c b/rushs/tinyprintf/dlist/dlist-2.c
deleted file mode 100644
index 5ccdaa3..0000000
--- a/rushs/tinyprintf/dlist/dlist-2.c
+++ /dev/null
@@ -1,113 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "dlist.h"
-
-int dlist_get(const struct dlist *list, size_t index)
-{
- if (index >= list->size)
- return -1;
-
- struct dlist_item *i;
- for (i = list->head; index; index--, i = i->next)
- {
- continue;
- }
-
- return i->data;
-}
-
-int dlist_insert_at(struct dlist *list, int element, size_t index)
-{
- if (index > list->size || element < 0)
- return 0;
- else if (index == list->size)
- dlist_push_back(list, element);
- else if (index == 0)
- dlist_push_front(list, element);
- else
- {
- struct dlist_item *new = malloc(sizeof(struct dlist_item));
- if (new == NULL)
- return 0;
- new->data = element;
-
- struct dlist_item *i;
- for (i = list->head; index - 1; index--, i = i->next)
- continue;
- new->next = i->next;
- i->next->prev = new;
- i->next = new;
- new->prev = i;
- list->size++;
- }
- return 1;
-}
-
-int dlist_find(const struct dlist *list, int element)
-{
- int index = 0;
- struct dlist_item *i;
- for (i = list->head; i && i->data != element; index++, i = i->next)
- continue;
- if (!i)
- return -1;
- return index;
-}
-
-int dlist_remove_at(struct dlist *list, size_t index)
-{
- if (index >= list->size)
- return -1;
- int res;
- struct dlist_item *item;
- if (list->size == 1)
- {
- item = list->head;
- res = list->head->data;
- list->head = NULL;
- list->tail = NULL;
- }
- else if (index == 0)
- {
- item = list->head;
- res = item->data;
- item->next->prev = NULL;
- list->head = item->next;
- }
- else if (index == list->size - 1)
- {
- item = list->tail;
- res = item->data;
- item->prev->next = NULL;
- list->tail = item->prev;
- }
- else
- {
- for (item = list->head; index; index--, item = item->next)
- continue;
-
- res = item->data;
- item->prev->next = item->next;
- item->next->prev = item->prev;
- }
-
- free(item);
- list->size--;
- return res;
-}
-
-void dlist_clear(struct dlist *list)
-{
- if (list->size == 0)
- return;
- for (struct dlist_item *i = list->head; i;)
- {
- struct dlist_item *tmp = i->next;
- free(i);
- i = tmp;
- }
- list->size = 0;
- list->head = NULL;
- list->tail = NULL;
-}