Annotation of embedaddon/iftop/sorted_list.c, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * sorted_list.c:
                      3:  *
                      4:  */
                      5: 
                      6: #include <stdlib.h>
                      7: #include <stdio.h>
                      8: #include "sorted_list.h"
                      9: #include "iftop.h"
                     10: 
                     11: 
                     12: void sorted_list_insert(sorted_list_type* list, void* item) {
                     13:     sorted_list_node *node, *p;
                     14: 
                     15:     p = &(list->root);
                     16: 
                     17:     while(p->next != NULL && list->compare(item, p->next->data) > 0) {
                     18:         p = p->next;
                     19:     } 
                     20: 
                     21:     node = xmalloc(sizeof *node);
                     22: 
                     23:     node->next = p->next;
                     24:     node->data = item;
                     25:     p->next = node;
                     26: }
                     27: 
                     28: 
                     29: sorted_list_node* sorted_list_next_item(sorted_list_type* list, sorted_list_node* prev) {
                     30:     if(prev == NULL) {
                     31:         return list->root.next;
                     32:     }
                     33:     else {
                     34:         return prev->next;
                     35:     }
                     36: }
                     37: 
                     38: void sorted_list_destroy(sorted_list_type* list) {
                     39:     sorted_list_node *p, *n;
                     40:     p = list->root.next;
                     41: 
                     42:     while(p != NULL) {
                     43:         n = p->next;
                     44:         free(p);
                     45:         p = n;
                     46:     }
                     47: 
                     48:     list->root.next = NULL;
                     49: }
                     50: 
                     51: void sorted_list_initialise(sorted_list_type* list) {
                     52:     list->root.next = NULL;
                     53: }
                     54: 
                     55: 
                     56: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>