From 168af40fe9a3cc81c6ee16b3e81f154780c36bdb Mon Sep 17 00:00:00 2001 From: Scheaven <xuepengqiang> Date: 星期四, 03 六月 2021 15:03:27 +0800 Subject: [PATCH] up new v4 --- lib/detecter_tools/darknet/list.c | 232 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 116 insertions(+), 116 deletions(-) diff --git a/lib/detecter_tools/darknet/list.c b/lib/detecter_tools/darknet/list.c index 2ccbde3..dbc70c3 100644 --- a/lib/detecter_tools/darknet/list.c +++ b/lib/detecter_tools/darknet/list.c @@ -1,116 +1,116 @@ -#include <stdlib.h> -#include <string.h> -#include "list.h" -#include "utils.h" -#include "option_list.h" - -list *make_list() -{ - list* l = (list*)xmalloc(sizeof(list)); - l->size = 0; - l->front = 0; - l->back = 0; - return l; -} - -/* -void transfer_node(list *s, list *d, node *n) -{ - node *prev, *next; - prev = n->prev; - next = n->next; - if(prev) prev->next = next; - if(next) next->prev = prev; - --s->size; - if(s->front == n) s->front = next; - if(s->back == n) s->back = prev; -} -*/ - -void *list_pop(list *l){ - if(!l->back) return 0; - node *b = l->back; - void *val = b->val; - l->back = b->prev; - if(l->back) l->back->next = 0; - free(b); - --l->size; - - return val; -} - -void list_insert(list *l, void *val) -{ - node* newnode = (node*)xmalloc(sizeof(node)); - newnode->val = val; - newnode->next = 0; - - if(!l->back){ - l->front = newnode; - newnode->prev = 0; - }else{ - l->back->next = newnode; - newnode->prev = l->back; - } - l->back = newnode; - ++l->size; -} - -void free_node(node *n) -{ - node *next; - while(n) { - next = n->next; - free(n); - n = next; - } -} - -void free_list_val(list *l) -{ - node *n = l->front; - node *next; - while (n) { - next = n->next; - free(n->val); - n = next; - } -} - -void free_list(list *l) -{ - free_node(l->front); - free(l); -} - -void free_list_contents(list *l) -{ - node *n = l->front; - while(n){ - free(n->val); - n = n->next; - } -} - -void free_list_contents_kvp(list *l) -{ - node *n = l->front; - while (n) { - kvp* p = (kvp*)n->val; - free(p->key); - free(n->val); - n = n->next; - } -} - -void **list_to_array(list *l) -{ - void** a = (void**)xcalloc(l->size, sizeof(void*)); - int count = 0; - node *n = l->front; - while(n){ - a[count++] = n->val; - n = n->next; - } - return a; -} +#include <stdlib.h> +#include <string.h> +#include "list.h" +#include "utils.h" +#include "option_list.h" + +list *make_list() +{ + list* l = (list*)xmalloc(sizeof(list)); + l->size = 0; + l->front = 0; + l->back = 0; + return l; +} + +/* +void transfer_node(list *s, list *d, node *n) +{ + node *prev, *next; + prev = n->prev; + next = n->next; + if(prev) prev->next = next; + if(next) next->prev = prev; + --s->size; + if(s->front == n) s->front = next; + if(s->back == n) s->back = prev; +} +*/ + +void *list_pop(list *l){ + if(!l->back) return 0; + node *b = l->back; + void *val = b->val; + l->back = b->prev; + if(l->back) l->back->next = 0; + free(b); + --l->size; + + return val; +} + +void list_insert(list *l, void *val) +{ + node* newnode = (node*)xmalloc(sizeof(node)); + newnode->val = val; + newnode->next = 0; + + if(!l->back){ + l->front = newnode; + newnode->prev = 0; + }else{ + l->back->next = newnode; + newnode->prev = l->back; + } + l->back = newnode; + ++l->size; +} + +void free_node(node *n) +{ + node *next; + while(n) { + next = n->next; + free(n); + n = next; + } +} + +void free_list_val(list *l) +{ + node *n = l->front; + node *next; + while (n) { + next = n->next; + free(n->val); + n = next; + } +} + +void free_list(list *l) +{ + free_node(l->front); + free(l); +} + +void free_list_contents(list *l) +{ + node *n = l->front; + while(n){ + free(n->val); + n = n->next; + } +} + +void free_list_contents_kvp(list *l) +{ + node *n = l->front; + while (n) { + kvp* p = (kvp*)n->val; + free(p->key); + free(n->val); + n = n->next; + } +} + +void **list_to_array(list *l) +{ + void** a = (void**)xcalloc(l->size, sizeof(void*)); + int count = 0; + node *n = l->front; + while(n){ + a[count++] = n->val; + n = n->next; + } + return a; +} -- Gitblit v1.8.0