Coverage Report

Created: 2025-10-13 07:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/dropbear/src/list.c
Line
Count
Source
1
#include "includes.h"
2
#include "dbutil.h"
3
#include "list.h"
4
5
0
void list_append(m_list *list, void *item) {
6
0
  m_list_elem *elem;
7
  
8
0
  elem = m_malloc(sizeof(*elem));
9
0
  elem->item = item;
10
0
  elem->list = list;
11
0
  elem->next = NULL;
12
0
  if (!list->first) {
13
0
    list->first = elem;
14
0
    elem->prev = NULL;
15
0
  } else {
16
0
    elem->prev = list->last;
17
0
    list->last->next = elem;
18
0
  }
19
0
  list->last = elem;
20
0
}
21
22
0
m_list * list_new() {
23
0
  m_list *ret = m_malloc(sizeof(m_list));
24
0
  ret->first = ret->last = NULL;
25
0
  return ret;
26
0
}
27
28
0
void * list_remove(m_list_elem *elem) {
29
0
  void *item = elem->item;
30
0
  m_list *list = elem->list;
31
0
  if (list->first == elem)
32
0
  {
33
0
    list->first = elem->next;
34
0
  }
35
0
  if (list->last == elem)
36
0
  {
37
0
    list->last = elem->prev;
38
0
  }
39
0
  if (elem->prev)
40
0
  {
41
0
    elem->prev->next = elem->next;
42
0
  }
43
0
  if (elem->next)
44
0
  {
45
0
    elem->next->prev = elem->prev;
46
0
  }
47
  m_free(elem);
48
0
  return item;
49
0
}